سلام خدمت شما دوستان عزیز ، باآموزش کار با کلاس ها در C# درخدمتتون هستم.در این درس قصد داریم تا شما را با مفهوم کلاس Class در C# و کاربرد آن ها آشنا کنیم. همچنین به بیان نحوه تعریف کلاس ها در برنامه و تعیین خواص و متدها برای آن ها خواهیم پرداخت.
اول از همه با مفهوم کلاس Class در C# شروع می کنیم. یک کلاس، مجموععه ای از خواص ها، متغیرها و متدهای مرتبط با هم است. یک کلاس خصوصیات ذکر شده را توصیف کرده و برای استفاده از آن در کد برنامه، یک نسخه از کلاس می سازید که به آن شی یا object می گویند. بر روی شی یا object ایجاد شده، می توانید متغیرها و متدهای کلاس را به کار ببرید. هر تعداد که نیاز داشته باشید می توانید شی یا object از روی کلاس ساخته و در نقاط مختلف کد برنامه استفاده کنید.
مبحث شی گرایی یا object oriented یک مقوله بسیار گسترده است که در این درس، درس های دیگر این بخش به مهم ترین جزئیات آن خواهیم پرداخت.
در بخش مقدمه آموزش 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; }
}
}
}

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

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

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