کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش خواص اتوماتیک Automatic Properties در C#

آموزش خواص اتوماتیک Automatic Properties در زبان C# :

یکی از بزرگ ترین مشکلاتی که برنامه نویسان برای نوشتن کدهای شی گرا یا object oriented داشتند، امکان تعیین خواص عمومی(Public Properties) برای فیلدهای خصوصی (private fields) بود. این کار کمی خسته کننده بود، زیرا تغییر با تمامی خواص به صورت یک متد get و set ساده با نگاشت به فیلد خصوصی تعریف می شد و هیچ هوشمندی خاصی در کار نبود. مثل کد زیر :

private string name;

public string Name
{
    get { return name; }
    set { name = value; }
}
            

در هنگام تعریف یک خاصیت یا Property ساده مثل کد فوق، می توان آن را به صورت عمومی public تعریف نموده و به صورت مستقیم برای متغیر به کار برد، بدون این که نیاز داشته باشد لایه ای مخصوص property ایجاد کنیم. اما ما بر طبق آموزش های برنامه نویسی شی گرا cop، بایستی کار را به صورت فوق انجام دهیم با این وجود برخی برنامه نویسان از به کار بردن روش ساده فوق، خودداری می کنند. اما با آمدن نسخه C# 3.0، دیگر بر این دو راهی قرار نگرفته و کد مثال فوق را می توان به صورت زیر نوشت :

public string Name
{
    get;
    set;
}                            
            

یا حتی به روش کم حجم تری مثل زیر نیز می توان نوشت :

public string Name { get; set; }
                        

در کد فوق، نیازی به تعریف field نداشته و کد اضافه برای متد get و set نیاز نیست. کلیه عملیات مورد نیاز به صورت خودکار توسط کامپایلر انجام می شود. خود کامپایلر C#، به صورت اتوماتیک یک فیلد خصوصی private field ایجاد کرده و متدهای get و set لازم را با کدهای مناسب جهت خواندن و نوشتن فیلد تولید می کند.
اگر به کد فوق از بیرون نگاه کنید، ظاهری شبیه یک property معمولی دارد، اما با همین مقدار کاهش کد، حجم تایپ شما بسیار کمتر شده و در کلاس خلاصه تر به نظر می رسد. به طور قطع می توانید همچنان از روش قدیمی نیز استفاده کنید، همانطور که در مثال درس نشان دادیم، اما روش دوم راه ساده تری است.

1395/08/13 4987 0
نظرات شما

نظرات خود را ثبت کنید...