PDA

View Full Version : سوال: فرق انواع تعریف متغیرها



drwatson
چهارشنبه 26 تیر 1387, 10:46 صبح
سلام
شاید این سوال پیش پاافتاده باشه اما من جواب دقیقی براش ندارم
فرق این سه جور تعریف متغیر چیه؟

dim v1 as vartype

dim v1 as NEW vartype

dim v1 as vartype
v1=NEW vartype

morteza_261
چهارشنبه 26 تیر 1387, 15:39 عصر
سلام
همانطور که میدانید هنگامی که یک متغیر ایجاد شد،باید مقدار اولیه آن را مشخص کرد و سپس از آن استفاده کرد.برای بعضی از متغیرها همانند اعداد صحیح،به راحتی میتوان مقدار اولیه مشخص کرد.اما بسیاری از متغیرها که با استفاده از کلاسها ایجاد میشوند را نمیتوان همانند اعداد صحیح مقدار اولیه داد.برای مقدار دهی به این اشیا از کلمه کلیدی New استفاده میکنیم.در این حالت خود کلاس،برای شی یک مقدار اولیه ایجاد کرده و آن را به شی نسبت میدهد...

ali_md110
چهارشنبه 26 تیر 1387, 19:20 عصر
new یک سازنده میباشد وقتی یک متغیر رو بصورت dim v1 as vartypeمینویسیم و به اون یک مقدار مثلا 10 رو میدهیم میتونیم با صدا زدن به صورت v1=new vartype دوباره ساخته و یک متغیر بدون مقدار داشته باشیم معمولا بهتر ه متغیر ها رو بصورتdim v1 as vartype در بخش جنرال تعریف کرده و هر وقت خواستیم از طریق سازنده اون یعنی var=new vartype استفاده کنیم . چون اگر متغیر رو بصورت dim v1 as NEW vartype تعریف کرده و حتی استفاده ای هم از اون نکنیم باز هم مقدار اولیه خود رو توی حافظه کپی میکنه ولی تا زمانی که از new استفاده نکرده باشیم هیچ حافظه ای رو مشغول نمیکنه
البته سیستمهاس امروزی سرعت بالایی دارند

drwatson
پنج شنبه 27 تیر 1387, 12:29 عصر
سلام
همانطور که میدانید هنگامی که یک متغیر ایجاد شد،باید مقدار اولیه آن را مشخص کرد و سپس از آن استفاده کرد.برای بعضی از متغیرها همانند اعداد صحیح،به راحتی میتوان مقدار اولیه مشخص کرد.اما بسیاری از متغیرها که با استفاده از کلاسها ایجاد میشوند را نمیتوان همانند اعداد صحیح مقدار اولیه داد.برای مقدار دهی به این اشیا از کلمه کلیدی New استفاده میکنیم.در این حالت خود کلاس،برای شی یک مقدار اولیه ایجاد کرده و آن را به شی نسبت میدهد...
آیا راهی برای تشخیص اینکه یه متغیر از یه نوع باید با کدام یک از شکلهای بالا تعریف بشه وجود داره؟


new یک سازنده میباشد وقتی یک متغیر رو بصورت dim v1 as vartypeمینویسیم و به اون یک مقدار مثلا 10 رو میدهیم میتونیم با صدا زدن به صورت v1=new vartype دوباره ساخته و یک متغیر بدون مقدار داشته باشیم معمولا بهتر ه متغیر ها رو بصورتdim v1 as vartype در بخش جنرال تعریف کرده و هر وقت خواستیم از طریق سازنده اون یعنی var=new vartype استفاده کنیم . چون اگر متغیر رو بصورت dim v1 as NEW vartype تعریف کرده و حتی استفاده ای هم از اون نکنیم باز هم مقدار اولیه خود رو توی حافظه کپی میکنه ولی تا زمانی که از new استفاده نکرده باشیم هیچ حافظه ای رو مشغول نمیکنه
البته سیستمهاس امروزی سرعت بالایی دارند

اینجور تعریف متغیر برای همه انواع داده ها عمومیت داره؟؟
از توجهتون ممنونم

masoodp666
پنج شنبه 27 تیر 1387, 14:12 عصر
همونطور که دوست عزیزمون ali_md110 (http://barnamenevis.org/forum/member.php?u=18325) گفتن وقتی شما شئ ای رو new میکنید سیستم مقداری حافظه (بسته به نوع متغییر) در حافظه اختصاص میدهد(اشغال میکند) در نتیجه بهترین راه استفاده از متغییرها new کردن آنها در همان محلی است که الان میخواهیم آنرا استفاده کنیم.

همانطور که میدانید متغییرهایی که به صورت Dim تعریف میشوند از همان محل تا انتهای Sub یا Function یا .... مورد نظر در حافظه میمانند و به محض رسیدن به End از بین میروند.