آموزش کار با کلاس ها Classes در #C

آموزش کار با کلاس ها Classes در #C

درس دهم

 

اول از همه با مفهوم کلاس Class در #C شروع می کنیم. یک کلاس، مجموعه ای از خواص ها، متغیرها و متدهای مرتبط با هم است. یک کلاس خصوصیات ذکر شده را توصیف کرده و برای استفاده از آن در کد برنامه، یک نسخه از کلاس می سازید که به آن شی یا object می گویند. بر روی شی یا object ایجاد شده، می توانید متغیرها و متدهای کلاس را به کار ببرید. هر تعداد که نیاز داشته باشید می توانید شی یا object از روی کلاس ساخته و در نقاط مختلف کد برنامه استفاده کنید.

در بخش مقدمه آموزش #C و در مثال Hello World مشاهده کردید که از یک کلاس در کد برنامه استفاده شده بود در #C تقریبا همه چیز بر مبنای کلاس ها ایجاد می شوند. در کد این درس قصد داریم تا کلاس خود را گسترش داده و با انواع امکانات آن آشنا شویم:

 

;using System

namespace ConsoleApplication1

}

class Program

}

static void Main(string[] args)

}

;Car car

;car = new Car(“Red”)

;Console.WriteLine(car.Describe())

;car = new Car(“Green”)

;Console.WriteLine(car.Describe())

 

;()Console.ReadLine

{

{

 

class Car

}

;private string color

public Car(string color)

}

;this.color = color

{

 

;()public string Describe

}

;return “This car is ” + Color

{

public string Color

}

get { return color; }

set { color = value; }

{

{

{

 

همانطور که مشاهده می کنید، در کد فوق یک کلاس جدید به نام Car ایجاد کرده ایم. برای سهولت کار، این کلاس جدید را به همراه کلاس Program در فایل اصلی برنامه قرار داده ایم، اما روش رایج این است که هر کلاس درون فایل خود ایجاد شود. کلاس Car دارای یک متغیر به نام Color است که برای تعیین رنگ خودرو به کار می رود. خاصیت Color به صورت خصوصی یا Private تعیین شده و به این معناست که توابع و کلاس های خارج از تابع Car امکان دسترسی مستقیم به این خاصیت را ندارند. فقط توابع و متدهای کلاس Car می توانند به خاصیت Color دسترسی مستقیم داشته باشند.

نکته : اگر تابع یا کلاسی خارج از کلاس Car بخواهد به خاصیت خصوصی یا Private به نام Color دسترسی داشته باشد، بایستی از یک Property برای این منظور استفاده کند. یک Property به نام Color در انتهای کد کلاس Car تعریف شده که وظیفه خواندن و نوشتن این خاصیت را بر عهده داشته و به سایر کلاس ها و توابع برنامه اجازه دسترسی به آن را می دهد.

همچنین کلاس Car دارای یک تابع سازنده یا Constructor می باشد. تابع سازنده، متدی است که به محض ساخته نشدن یک شیء از کلاس، اجرا می شود. تابع سازنده کلاس Car دارای یک پارامتر بوده که برای مقداردهی اولیه شی Car با خاصیت Color بزرگ قرمز (Red) به کار می رود. بنابراین هر شی از کلاس Car که ساخته شود، رنگ قرمز را به صورت پیش فرض برای خاصیت Color خود خواهد داشت. برای نشان دادن درستی این مسئله نیز تابع Describe طراحی شده که نام هر شی یا object ساخته شده با مقدار رنگ آن را در خروجی نشان می دهد.

 

برای مشاهده درس قبلی (آموزش کار با آرایه ها Arrays در #C) کلیک کنید.