سلام!
امروز می خوام سازنده ها رو بگم!
سازنده ها چی هستن؟!
سازنده ها تنها کاری که می کنن اینه که مقدار دهی اولیه میکنن!
مثلاً شما یک کلاس نوشتی که چهار تا متغیر داره که باید مقدار دهی بشن! ممکنه کاربر 3تاش رو وارد نکنه! در این صورت یا باید پیغام خطایی بهش نشون بدین که بگین داداش این ها رو وارد کن! یا این که باید به صورت پیش فرض مقادیری رو خودتون وارد کنید!
و این سازنده ها هیچ کار دیگه ای انجام نمیدن! نذاشتی هم نذاشتی! ولی چیز مفیدیه
این طوری هم تعریف میشن که اسم کلاس اولش یه سطح دسترسی می ذاریم و متغیری که می خوایم مقدار دهی کنیم معرفی می کنیم!
مثلاً:
حالا تک تک توضیح می دم:
امروز می خوام سازنده ها رو بگم!
سازنده ها چی هستن؟!
سازنده ها تنها کاری که می کنن اینه که مقدار دهی اولیه میکنن!
مثلاً شما یک کلاس نوشتی که چهار تا متغیر داره که باید مقدار دهی بشن! ممکنه کاربر 3تاش رو وارد نکنه! در این صورت یا باید پیغام خطایی بهش نشون بدین که بگین داداش این ها رو وارد کن! یا این که باید به صورت پیش فرض مقادیری رو خودتون وارد کنید!
و این سازنده ها هیچ کار دیگه ای انجام نمیدن! نذاشتی هم نذاشتی! ولی چیز مفیدیه
این طوری هم تعریف میشن که اسم کلاس اولش یه سطح دسترسی می ذاریم و متغیری که می خوایم مقدار دهی کنیم معرفی می کنیم!
مثلاً:
using system;
calss MyDate
{
private int year , month , day ;
public MyDate() : this(1 , 1 , 1) { }
public MyDate(int y) : this(y , 1 , 1) { }
public MyDate(int y , int m) : this(y , m , 1) { }
public MyDate(int y , int m , int d)
{
Year = y ;
Month = m ;
و بقیه برنامه!calss MyDate
{
private int year , month , day ;
public MyDate() : this(1 , 1 , 1) { }
public MyDate(int y) : this(y , 1 , 1) { }
public MyDate(int y , int m) : this(y , m , 1) { }
public MyDate(int y , int m , int d)
{
Year = y ;
Month = m ;
Day= d ;
}حالا تک تک توضیح می دم:
public MyDate() : this(1 , 1 , 1) { } :
اگر کاربر هیچ مقداری رو وارد نکنه برای سه تا متغیر year , month , day مقدار یک رو وارد می کنه!public MyDate(int y) : this(y , 1 , 1) { }
اگر کاربر فقط مقدار سال رو وارد بکنه برای 2تا متغیر دیگه مقدار یک پیش فرض قرار داده میشه!public MyDate(int y , int m) : this(y , m , 1) { }
اگر کاربر مقدار سال و ماه رو وارد کنه مقدار روز رو به صورت پیش فرض یک قرار میده!public MyDate(int y , int m , int d)
{
Year = y ;
Month = m ;
{
Year = y ;
Month = m ;
Day= d ;
}این جا کاربر هر 3تا مقدار رو وارد می کنه تمام سازنده های قبلی بعد از اجرا شدن به این قسمت میان تا مقدار متغیر های تازه تعریف شده مشخص بشه و بزرگ شدن حروف اول year , month , day برای همون مساله محدودیت دسترسیه! این طوری دیگه نیازی نیست که property تعریف کنید براشون!
Blogged with the Flock Browser
Blogged with the Flock Browser
هیچ نظری موجود نیست:
ارسال یک نظر