فهرست سرفصل‌های #C
خانه (HOME) مقدمه (Intro) شروع کار (Get Started) سینتکس (Syntax) خروجی (Output) کامنت ها (Comments) متغیرها (Variables) ثابت ها (Constants) نمایش متغیرها (Display Variables) متغیرهای متعدد (Multiple Variables) شناسه ها (Identifiers) انواع داده (Data Types) تبدیل نوع (Type Casting) ورودی کاربر (User Input) عملگرها (Operators) انتساب (Assignment) مقایسه (Comparison) منطقی (Logical) ریاضی (Math) رشته ها (Strings) اتصال رشته ها (Concatenation) درون گذاری رشته (Interpolation) دسترسی به رشته ها (Access Strings) کاراکترهای ویژه (Special Characters) بولی ها (Booleans) if (If...Else) else (If...Else) else if (If...Else) شکل کوتاه if..else (Short hand if..else) سوئیچ (Switch) حلقه while (While Loop) حلقه for (For Loop) حلقه foreach (Foreach loop) شکستن/ادامه (Break/Continue) آرایه ها (Arrays) حلقه روی آرایه (Loop through an array) مرتب سازی آرایه ها (Sort arrays) آرایه های چندبعدی (Multidimensional arrays) متدها (Methods) پارامترها (Parameters) پارامتر پیش فرض (Default Parameter) مقادیر بازگشتی (Return Values) آرگومان های نام دار (Named Arguments) بارگذاری متد (Method Overloading) شیء گرایی (OOP) کلاس ها/اشیا (Classes/Objects) چند شیء (Multiple Objects) اعضای کلاس (Class Members) سازنده ها (Constructors) قیدهای دسترسی (Access Modifiers) ویژگی ها (Properties) وراثت (Inheritance) چندریختی (Polymorphism) انتزاع (Abstraction) اینترفیس (Interface) چند اینترفیس (Multiple Interfaces) شمارش ها (Enums) فایل ها (Files) استثناها (Exceptions) افزودن دو عدد (Add Two Numbers) نمونه ها (Examples)
#C

#C — اعضای کلاس (Class Members)

آخرین بروزرسانی: 1404/08/05

اعضای کلاس (Class Members)

اعضای کلاس یعنی «فیلدها» و «متدها». فیلد (Field) یعنی متغیر داخل کلاس. متد (Method) یعنی کارهایی که کلاس انجام می دهد. مثل ماشین مدرسه: رنگ و سرعت فیلد هستند، ترمز و حرکت متد هستند.

تعریف اعضای کلاس

در این نمونه، یک کلاس با دو فیلد و یک متد داریم.

// The class
class MyClass
{
  // Class members
  string color = "red";
  int maxSpeed = 200;
  public void fullThrottle()
  {
    Console.WriteLine("The car is going as fast as it can!");
  }
}

مشاهده در ادیتور

فیلدها (Fields)

فیلدها همان متغیرهای داخل کلاس هستند. با شیء و نقطه به آن ها می رسیم.

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);
  }
}

مشاهده در ادیتور

متدهای شیء (Object Methods)

متد، رفتار شیء را توضیح می دهد. با نام متد و پرانتز صدا می زنیم.

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();
  }
}

مشاهده در ادیتور

نکته: public یعنی «قابل دسترسی از بیرون کلاس». static یعنی «بدون ساخت شیء قابل دسترسی». اینجا متد شیء است، پس public کافی است.

چیدمان با چند کلاس

بهتر است منطق و اجرای برنامه جدا باشند. یکی کلاس داده و متد، دیگری فقط Main().

prog2.cs

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!");
  }
}

مشاهده در ادیتور

prog.cs

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 یک «تعدیل گر دسترسی (Access Modifier)» است. یعنی از کلاس های دیگر هم می توان فیلدها را دید.

گام های تمرینی اعضای کلاس

  1. یک کلاس با دو فیلد بساز.
  2. یک شیء بساز و فیلدها را چاپ کن.
  3. فیلدها را خالی بگذار و بعد مقدار بده.
  4. دو شیء بساز و مقادیرشان را مقایسه کن.
  5. کد را در دو کلاس جدا اجرا کن.

برای پایه بیشتر، صفحه کلاس ها/اشیا و موضوع چند شیء را هم ببین. این ها به فهم شیء گرایی کمک می کنند.

جمع بندی سریع

  • اعضای کلاس یعنی فیلد و متد.
  • با شیء و نقطه به فیلد می رسی.
  • متد رفتار شیء را اجرا می کند.
  • public دسترسی بین کلاس ها را ممکن می کند.
  • جدا کردن کلاس ها کد را مرتب تر می کند.