اعضای کلاس سی شارپ
مثال ذیل 3 عضو را دارد 2 فیلد و یک متد.
class MyClass
{
// Class members
string color = "red";
int maxSpeed = 200;
public void fullThrottle()
{
Console.WriteLine("The car is going as fast as it can!");
}
}
فیلدها
در درس قبل سی شارپ یاد گرفتید که متغیرهای داخل کلاس را فیلد می نامند و با ایجاد یک شی از کلاس و با استفاده از نقطه می توانید به آنها دسترسی پیدا کنید.
مثال زیر یک شی از کلاس Car با نام myObj ایجاد می کند. سپس مقدار رنگ زمینه ها و maxSpeed را چاپ می کنیم:
class Car
{
string color = "red";
int maxSpeed = 200;
static void Main(string[] args)
{
Car myObj = new Car();
Console.WriteLine(myObj.color);
Console.WriteLine(myObj.maxSpeed);
}
}
همچنین می توانید فیلدها را خالی بگذارید و هنگام ایجاد شی آنها را مقداردهی کنید:
class Car
{
string color;
int maxSpeed;
static void Main(string[] args)
{
Car myObj = new Car();
myObj.color = "red";
myObj.maxSpeed = 200;
Console.WriteLine(myObj.color);
Console.WriteLine(myObj.maxSpeed);
}
}
این امر به ویژه هنگام ایجاد چندین شی از یک کلاس بسیار مفید است:
class Car
{
string model;
string color;
int year;
static void Main(string[] args)
{
Car Ford = new Car();
Ford.model = "Mustang";
Ford.color = "red";
Ford.year = 1969;
Car Opel = new Car();
Opel.model = "Astra";
Opel.color = "white";
Opel.year = 2005;
Console.WriteLine(Ford.model);
Console.WriteLine(Opel.model);
}
}
متد های شی
شما از درس C# Methods یاد گرفتید که از متدها برای انجام اقدامات خاص استفاده می شود.
متدها معمولاً به یک کلاس تعلق دارند و نحوه رفتار یک شی را تعریف می کنند.
درست مانند فیلدها ، با نقطه می توانید به متدها دسترسی پیدا کنید. با این حال ، توجه داشته باشید که این متد باید public باشد. و به یاد داشته باشید که ما از نام متدی استفاده می کنیم که به دنبال آن دو پارانتز () و یک نقطه ویرگول قرار دارد. برای فراخوانی (اجرا) متد:
class Car
{
string color;
int maxSpeed;
public void fullThrottle()
{
Console.WriteLine("The car is going as fast as it can!");
}
static void Main(string[] args)
{
Car myObj = new Car();
myObj.fullThrottle();
}
}
چرا ما مانند مثالهای درس C # Method ها متد را عمومی و نه ساکن اعلام کردیم؟
دلیل آن ساده است: بدون ایجاد یک شی object از کلاس می توان به یک متد ثابت دسترسی پیدا کرد ، در حالی که متدهای عمومی فقط توسط اشیا قابل دسترسی هستند.
استفاده از کلاسهای متعدد
ما می توانیم از چندین کلاس برای سازماندهی بهتر پروژه استفاده کنیم (یکی برای فیلدها و متدها ، و دیگری برای اجرا). این توصیه می شود:
class Car
{
public string model;
public string color;
public int year;
public void fullThrottle()
{
Console.WriteLine("The car is going as fast as it can!");
}
}
class Program
{
static void Main(string[] args)
{
Car Ford = new Car();
Ford.model = "Mustang";
Ford.color = "red";
Ford.year = 1969;
Car Opel = new Car();
Opel.model = "Astra";
Opel.color = "white";
Opel.year = 2005;
Console.WriteLine(Ford.model);
Console.WriteLine(Opel.model);
}
}
کلید واژه public یک اصلاح کننده دسترسی نامیده می شود ، که مشخص می کند فیلدهای Car برای کلاسهای دیگر مانند Program نیز قابل دسترسی است.
در درس بعدی اطلاعات بیشتری در مورد Access Modifiers کسب خواهید کرد.
نکته: در ادامه مطالعه ، با سایر اعضای کلاس مانند سازندگان و خصوصیات نیز بیشتر خواهید آموخت.