نگاهی به کلاس ها در سی شارپ
دوشنبه, ۷ تیر ۱۳۹۵، ۰۹:۵۹ ب.ظ
کلاس ها، در واقع قطعاتی از برنامه هستند که از فیلد ها (Field) و متد ها (Method) تشکیل شده اند :
public class Seller
{
//Field
private string _name;
//Method
public void Sell()
{
}
}
هر شیء در واقع نمونه ای از یک کلاس است و برای استفاده از آن از کد زیر استفاده میشود :
Seller seller = new Seller();
// و یا روشی بهتر
var seller = new Seller();
Constructors (توابع سازنده)
تابع سازنده، متدی است که در هنگام ایجاد یک شیء از آن کلاس، صدا زده می شود؛ به صورت ساده تر شیء ایجاد شده برای شروع به کار نیاز به مقداری خاص دارد و کار تابع سازنده دریافت آن مقدار خاص می باشد.
- توابع سازنده از جنس بازگشتی و یا غیر بازگشتی نبوده و باید همنام با کلاس مورد نظر باشند.
- در ویژوال استودیو با نوشتن کلمه ی ctor و فشردن دکمه ی Tab به صورت اتوماتیک تابع سازنده ایجاد می گردد.
- هر کلاس می تواند شامل چندین تابع سازنده باشد، با این شرط که هر کدام پارامتر های ورودی متفاوتی داشته باشند. به این متد در اصطلاح Overloading گفته می شود.
- تابع سازنده ی اصلی یا مادر در هر کلاس به صورت عادی هیچ ورودی ندارد.
- برای رفتن از یک تابع سازنده به تابع دیگر از کلمه ی this استفاده می شود.
به عنوان مثال :
public class Customer
{
public int Id;
public string Name;
public List<Order> Orders;
// تابع سازنده ی کلاس در حالت عادی
public Customer()
{
// در این قسمت باید لیست را مقدار دهی کرد
// در غیر اینصورت با خطا مواجه خواهید شد
Orders = new List<Order>();
}
public Customer(int id)
: this() // صدا زدن تابع سازنده ی اصلی
// زیرا لیست در آنجا مقدار دهی شده است
{
this.Id = id;
}
}