PDA

View Full Version : Satic و virtual



Future
سه شنبه 28 اردیبهشت 1389, 06:53 صبح
سلام دوستان

در موقع تعریف متد باید از یه سری modifier استفاده کردو میشه بگید این modifier ها چه می کنند:
Static
Virtual
Override
new
sealed
abstract

با تشکر

alireza_s_84
سه شنبه 28 اردیبهشت 1389, 07:47 صبح
سلام دوست عزیز:
Static: ایجاد یک کلاس به اشتراک گذارده شده ، برای دسترسی به اعضای عمومی این کلاس نیازی به استفاده از نمونه سازی نیست.
Virtual: تعریف یک متد بصورت اولین نسخه پیاده سازی شده. یعنی هرگاه شما کلاسی ایجاد کنید که بعد قرار باشه کلاسهای دیگه از اون ارث ببرن و در کلاس مشتق شده نیاز باشه تا بدنه متد کلاس والد به طور دیگری پیاده سازی بشه از این کلمه کلیدی استفاده میکنیم و اون رو Override میکنیم.
Override: پیاده سازی یک نسخه دیگه از متد Virtual کلاس والد. هرگاه در کلاس والد متدی بصورت Virtual تعریف بشه(یعنی اولین نسخه متد پیاده شد یا اصلا ممکن پیاده سازی هم نشه فقط تعریف بشه) در کلاسهای مشتق شده میشه با استفاده از کلمه کلیدی Override یک نسخه دیگه از اون پیاده سازی کرد.
new: ایجاد یک نمونه جدید از شی درون حافظه. اشیاو ایجاد شده با کلمه کلیدی new روی heap قرار میگیرن.
sealed: کلا به معنی مهر و موم شده و زمانی تعریف کلاس بصورت sealed خواهد بود که شما نمیخواهید کلاسی از این کلاس ارث ببره و مشتق بشه. یعنی کلاسهای NotInheritEbale کلاسهایی که امکان ارث بردن از اونها وجود نداره.(اولین نسخه پیاده سازی شده کلاس آخرین نسخه اون میشه)
abstract: به معنای انتزاعی و به کلاسهایی اطلاق میشه که باید حتما کلاسهایی از اونها مشتق بشه و امکان نمونه سازی از این کلاسها با کلمه کلیدی new وجود نداره.
امیدوارم تونسته باشم ساده مطلب رو بیان کنم