در پست قبلی در هنگام ست کردن مقدار به درون فیلدهای کلاس هیچ شرایط خاصی وجود نداشت و هر مقداری را از اعداد صحیح به آنها می دادیم برنامه آن را می پذیرفت . اکنون حالتی را در نظر بگیرید که ما بخواهیم برای پذیرفتن اعداد پیشنهادی شرایط و مقررات خاصی را اعمال کنیم و هر عددی را از کاربر و یا از رویدادهای درون کلاس نپذیریم حال چگونه اینکار را می توانیم انجام دهیم. اینکار با کمک گت و ست کردن یک مقدار متعلق به یک فیلد درون برنامه بصورت دستی و با کمک get و set صورت می گیرد در این حالت است که طبق آنچه در تصویر مشاهده می کنید شرط گذاشتن برای هر دو حالت get و set امکان پذیر می شود که البته در اینجا ما فقط برای set کردن شرط گذاشته ایم تا اعداد ورودی فقط بین 0 تا 255 باشند .
در تصویر زیر نیز می بیندکه باز باید از کلاس یک نمونه بسازیم و با دسترسی به فیلد مربوطه عدد دلخواه را درون آن ست کنیم . مثلا در اینجا عدد 37 می باشد که چون این عدد بین 0 و 255 می باشد پس شرایط مورد نظر را داشته پس بنابر این روی لیبل برنامه چاپ می شود .
ساخت یک کلاس ساده در سی شارپ
در این پست روش ساخت یک کلاس ساده که حاوی یک متد برای محاسبه حجم مکعب می باشد را توضیح می دهیم.
طبق آنچه در تصویر می بینید یک کلاس با نام Myclass ساخته شده که دارای سه فیلد می باشد که اندازه های لازم برای محاسبه حجم مکعب هستند.(طول ، عرض و ارتفاع) . یک متد نیز با نام Volume نیز درون کلاس می باشد که می تواند این سه اندازه را در هم ضرب کرده و یک عدد صحیح را به برنامه برگرداند.
در تصویر پائین نیز که مربوط به کدهای رویداد کلیک یک دکمه روی فرم برنامه می باشد نیز ابتدا از Myclass یک نمونه به نام Sample ساخته شده . به کمک این نمونه ما می توانیم ابتدا به فیلدهای کلاس دسترسی داشته و مقداری را درون آنها ست کنیم . سپس با کمک متد برنامه و اجرای آن عدد بدست آمده توسط متد Volume را به ویژگی text یک لیبل اختصاص داده ایم .
در پست های قبلی روش رسم دایره و بیضی تو خالی را دیدید برای رسم دایره و بیضی بصورت توپر دو تفاوت در کدها وجود دارد اول استفاده از " SolidBrush " بجای "Pen" و دومین تفاوت در استفاده از متد " FillEllipse " بجای متد " DrawEllipse " می باشد .
Graphics g = this.CreateGraphics();
/// تعریف یک گرافیک و تعیین فرم بعنوان بوم
SolidBrush MyBrush = new SolidBrush(Color.Cyan);
///تعیین بروش به رنگ سایان
int x1 = 0;
int y1 = 0;
int x2 = 200;
int y2 = 100;
g.FillEllipse(MyBrush, x1, y1, x2, y2);
محتویات یک کلاس در سی شارپ :
یک کلاس می تواند دارای هر کدام از 14 مورد زیر باشد که بعضی ضروری و برخی اختیاری یک کلاس می باشند .
1 . Constructors سازنده ها
2 . Constants ثابت ها
3 . Fields فیلدها ( متغیرها )
4 . Finalizers ( Destructors ) نهایی کننده ها یا ( مخرب ها )
5 . Methods روش ها
6 . Properties ویژگی ها
7 . Indexers ایندکسرها
8 . Operators عملگرها
9 . Events رویدادها
10 . Delegates نمایندگان
11 . Classes کلاس ها
12 . Interfaces رابط ها
13 . Structs ساختارها
14 . Enumerations نوع شمارشی