C# – سازنده‌ها (Constructors)

سازنده‌ها (Constructors) در C#

سازنده‌ها (Constructors) متدهای خاصی هستند که برای مقداردهی اولیه به اشیاء استفاده می‌شوند. مزیت استفاده از سازنده این است که هنگام ایجاد یک شیء از یک کلاس، سازنده به‌طور خودکار فراخوانی می‌شود و می‌تواند مقادیر اولیه‌ای برای فیلدها تنظیم کند.

مثال: ایجاد یک سازنده

// ایجاد یک کلاس Car
class Car
{
  public string model;  // ایجاد یک فیلد

  // ایجاد یک سازنده برای کلاس Car
  public Car()
  {
    model = "Mustang"; // تنظیم مقدار اولیه برای فیلد model
  }

  static void Main(string[] args)
  {
    Car Ford = new Car();  // ایجاد یک شیء از کلاس Car (این کار سازنده را فراخوانی می‌کند)
    Console.WriteLine(Ford.model);  // چاپ مقدار فیلد model
  }
}

// خروجی: Mustang

توجه کنید که نام سازنده باید با نام کلاس مطابقت داشته باشد و سازنده نباید نوع بازگشتی (مانند void یا int) داشته باشد.

همچنین، دقت کنید که سازنده زمانی فراخوانی می‌شود که شیء ایجاد شود.

تمام کلاس‌ها به‌طور پیش‌فرض دارای سازنده هستند: اگر شما خودتان سازنده‌ای ایجاد نکنید، C# به‌طور خودکار یکی ایجاد می‌کند. اما در این صورت شما نمی‌توانید مقادیر اولیه‌ای برای فیلدها تنظیم کنید.

پارامترهای سازنده

سازنده‌ها همچنین می‌توانند پارامترهایی بپذیرند که برای مقداردهی اولیه به فیلدها استفاده می‌شوند.

مثال زیر یک پارامتر string به نام modelName به سازنده اضافه می‌کند. در داخل سازنده، مقدار فیلد model به modelName تنظیم می‌شود. زمانی که سازنده فراخوانی می‌شود، یک پارامتر به آن ارسال می‌کنیم که مقدار فیلد model را تنظیم می‌کند:

class Car
{
  public string model;

  // ایجاد یک سازنده با یک پارامتر
  public Car(string modelName)
  {
    model = modelName;
  }

  static void Main(string[] args)
  {
    Car Ford = new Car("Mustang");
    Console.WriteLine(Ford.model);
  }
}

// خروجی: Mustang

شما می‌توانید هر تعداد پارامتر که می‌خواهید داشته باشید:

class Car
{
  public string model;
  public string color;
  public int year;

  // ایجاد یک سازنده با چندین پارامتر
  public Car(string modelName, string modelColor, int modelYear)
  {
    model = modelName;
    color = modelColor;
    year = modelYear;
  }

  static void Main(string[] args)
  {
    Car Ford = new Car("Mustang", "Red", 1969);
    Console.WriteLine(Ford.color + " " + Ford.year + " " + Ford.model);
  }
}

// خروجی: Red 1969 Mustang

سازنده‌ها باعث صرفه‌جویی در زمان می‌شوند

اگر مثالی از فصل قبل را در نظر بگیرید، متوجه می‌شوید که سازنده‌ها بسیار مفید هستند، زیرا به کاهش حجم کد کمک می‌کنند:

بدون سازنده:

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

با استفاده از سازنده:

class Program
{
  static void Main(string[] args)
  {
    Car Ford = new Car("Mustang", "Red", 1969);
    Car Opel = new Car("Astra", "White", 2005);

    Console.WriteLine(Ford.model);
    Console.WriteLine(Opel.model);
  }
}

استفاده از سازنده باعث کاهش پیچیدگی کد و افزایش خوانایی آن می‌شود.

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
JavaScript - تاریخ‌ها (Dates)

JavaScript – تاریخ‌ها (Dates)

آبجکت‌های تاریخ (Date) در جاوااسکریپت آبجکت‌های تاریخ در جاوااسکریپت به ما امکان کار با تاریخ و زمان را می‌دهند....

بیشتر بخوانید
JavaScript - آرایه‌های ثابت (Array Const)

JavaScript – آرایه‌های ثابت (Array Const)

جاوااسکریپت: تعریف آرایه با const در سال 2015، جاوااسکریپت کلمه کلیدی مهمی به نام const را معرفی کرد. این...

بیشتر بخوانید
JavaScript - تکرار آرایه‌ها (Array Iteration)

JavaScript – تکرار آرایه‌ها (Array Iteration)

جاوا اسکریپت: تکرار بر روی آرایه‌ها جاوا اسکریپت روش‌های مختلفی برای تکرار (Iteration) بر روی آرایه‌ها ارائه می‌دهد که...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.