مردم جهان به دو دسته تقسیم می شوند دسته اول کسانی که موافقند مردم جهان به دو دسته تقسیم میشن و دسته دوم کسانی که مخالفند مردم جهان به دو دسته تقسیم میشن

وبلاگ آموزش سی شارپ

سلام خدمت همه شما دوستان عزیز که به من لطف داشتید و وبلاگ رو دنبال کردین...از مباحثی که قصد داشتم مطرح کنم
File,delegate,event
هنوز باقی مونده که احتمالاً تو تابستون می گم...شاید هم نگفتم هیچ وقت!:D
به هر حال ادامه آموزش رو تو درس ساختمان داده می گم! به آدرس زیر:
http://datastructurekelas.blogspot.com
تا اطلاع ثانوی موفق باشید!:D

۱۳۸۸ شهریور ۱, یکشنبه

یا Constructors سازنده ها

سلام!

امروز می خوام سازنده ها رو بگم!

سازنده ها چی هستن؟!

سازنده ها تنها کاری که می کنن اینه که مقدار دهی اولیه میکنن!

مثلاً شما یک کلاس نوشتی که چهار تا متغیر داره که باید مقدار دهی بشن! ممکنه کاربر 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 ;
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 ;
Day= d ;
}

این جا کاربر هر 3تا مقدار رو وارد می کنه تمام سازنده های قبلی بعد از اجرا شدن به این قسمت میان تا مقدار متغیر های تازه تعریف شده مشخص بشه و بزرگ شدن حروف اول year , month , day برای همون مساله محدودیت دسترسیه! این طوری دیگه نیازی نیست که property تعریف کنید براشون!

Blogged with the Flock Browser

هیچ نظری موجود نیست:

ارسال یک نظر