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

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

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

۱۳۸۸ مرداد ۲۷, سه‌شنبه

property

خب اما Property ها یا ویژگی ها به قول یه آقای بسیار محترمی ووژگی:D

یکی از اصول برنامه نویسی اینه که ما کمترین سطح دسترسی رو برای هر چیزی قائل بشیم!

پس طبق مطلب قبلی میایم کلاسمون رو این طوری تعریف می کنیم:

using system;
class Complex
{
private double real , img ;
.
.
.
.
.
........
}

خب! همون طور که گفتم private فقط تو خود کلاس قابل دسترسیه!یعنی فقط تو کلاس Complex
حالا اگه بخوایم توی کلاس Program از این ها استفاده کنیم تکلیف چیه؟! مثلاً بخوایم بگیم:

Complex c1 = new Complex () ;
c1.real = 3;
c1.img = 4;

خب اینجا کامپایلر یکی از انگشت هاش رو به ما نشون میده که ممکنه معنی خیلی خوبی نداشته باشه! پس باید چی کار کنیم که این کار رو نکنه؟!
میایم از ویژگی یا Property استفاده می کنیم:

using system;
class Complex
{
private double real , img ;
public double Real
{
get
{
return real ;
}
set
{
real = value ;
}
}
public double Img
{
get
{
return img;
}
set
{
img = value;
}
}
.
.
.
.
.
.
..........
}

همون طور که می دونی C# به حروف بزرگ و کوچیک حساسه! پس برای این که بتونیم از متغیر هایی که private تعریفشون کردیم تو برنامه اصلیمون استفاده کنیم میایم proprty هایی میسازیم با همون اسم با این تفاوت که حرف اولش حرف بزرگه! البته این استانداردشه وگرنه شما اسمش رو بذار جومونگ! اگه کسی بهت چیزی گفت فقط تو برنامه اصلی برای این که دسترسی داشته باشی باید از جومونگ استفاده کنی!
پس برای این که به c1 مقدار بدیم این کار رو می کنیم!:

Complex c1 = new Complex () ;
c1.Real = 3 ;
c1.Img = 4 ;
به حروف بزرگ و کوچیک Real , real و Img , img توجه کنید!

حالا مثلاً جومونگ تعریف می کنیم!:

public double jumoong
{
get
{
return real ;
}
set
{
real = value ;
}
}
public double joomong
{
get
{
return img ;
}
set
{
img = value ;
}
}

تو program باید این طوری استفاده کنیم:

Complex c1 = new Complex () ;
c1.jumoong = 3 ;
c1.joomoong = 4 ;

-----------------------------------------------------
set برای گرفتن مقدار هست یعنی اگر set نباشه نمی تونیم مقداری رو به real , img بدیم!
get هم برای دسترسی هست ! البته کاربرد های قشنگ تری هم داره که بعداً بهش می رسیم!

Blogged with the Flock Browser

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

ارسال یک نظر