PDA

View Full Version : سوال: خصوصيات تابع Static



sheytan69
چهارشنبه 21 تیر 1391, 20:18 عصر
سلام به همه اساتيد محترم

دو تا سوال شبيه به هم دارم؟

1- چرا از كلاس static نمي توان به ارث برد؟

2- چرا از كلاس Program نمي توان New Instance ساخت؟ (ولي Static Main رو دارد)

tooraj_azizi_1035
چهارشنبه 21 تیر 1391, 20:43 عصر
سلام
کلاس هایی که static تعریف می شوند برای برای ایجاد متدها و خواصی استفاده می شوند که بدون نمونه سازی از روی کلاس قابل فراخوانی هستند.
اعضای static یک کلاس می توانند برای جداکردن داده ها و رفتارهایی که مستقل از هر نمونه از شیء ساخته شده از روی کلاس هستند استفاده شوند. داده ها و توابع static فارغ از هر اتفاقی که برای نمونه های ساخته شده از روی کلاس می افتد دستخوش تغییر قرار نمی گیرند.

یک کلاس static فقط می تواند اعضای static داشته باشد. و به طور خودکار توسط CLR به حافظه لود می شوند.



1- چرا از كلاس static نمي توان به ارث برد؟
چون sealed تعریف می شود.


2- چرا از كلاس Program نمي توان New Instance ساخت؟ (ولي Static Main رو دارد)

از روی كلاس Program می توان نمونه ساخت امتحان کنید.
متد Main نقطه شروع برنامه است. اگر static تعریف نشود باید برای اجرا یک نمونه از كلاس Program ساخته شود. برای ایجاد نمونه از روی كلاس Program کد برنامه باید اجرا شود. اما کدام بخش ار برنامه؟

ما باید کجا یک نمونه از كلاس Program ایجاد کنیم تا بتوانیم متد Main را صدا بزنیم؟ اگر داخل خود Main که نقطه شروع برنامه است که دیگر نیاز به ساخت نمونه از كلاس Program نداریم. متد Main را ویندوز صدا می زند.

sheytan69
چهارشنبه 21 تیر 1391, 22:45 عصر
ممنون برادر من يكمي تازه كارم و استادم اين سوال رو به ما داده اين كه شما گفتي يكمي پيچيدت ميشه واضح تر بگيد
بعد اينكه فكر كنم سوالم رو اشتباه پرسيدم -- چرا از كلاس Program (ـ Static Main) نمي توان اينيشالايز (Initilaze) كرد؟