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);
}
}
استفاده از سازنده باعث کاهش پیچیدگی کد و افزایش خوانایی آن میشود.
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام