1. معرفی سازندهها
سازنده (Constructor) یک بلوک شبیه به متد است که بهصورت خودکار هنگام ایجاد یک شیء (Object) اجرا میشود.
هدف آن مقداردهی اولیه به فیلدها و آمادهسازی شیء برای استفاده است.
سینتکس (نوشتار):
class ClassName {
ClassName() {
// کد مقداردهی اولیه
}
}
ویژگیهای کلیدی:
همنام با کلاس است.
هیچ نوع بازگشتی ندارد (حتی void هم نه).
میتواند بارگذاری مجدد شود (Overloaded).
وقتی شیء زیر را ایجاد میکنید:
MyClass obj = new MyClass();
مراحلی که اتفاق میافتد:
1. حافظهای برای شیء تخصیص داده میشود.
2. سازنده بهصورت خودکار فراخوانی میشود.
3. فیلدهای کلاس مقداردهی اولیه میشوند.
4. مرجع (Reference) به متغیر obj نسبت داده میشود.
1. سازنده پیشفرض (Default Constructor) – تولیدشده توسط کامپایلر
اگر هیچ سازندهای تعریف نکرده باشید، جاوا خودش یکی میسازد.
مثال:
class Book {
int pages;
String title;
}
Book b = new Book(); // از سازنده پیشفرض استفاده میشود
2. سازنده بدون پارامتر (No-Argument Constructor) – تعریفشده توسط کاربر
شما میتوانید یک سازنده بدون پارامتر بنویسید.
مثال:
class Book {
Book() {
System.out.println("Book created");
}
}
3. سازنده با پارامتر (Parameterized Constructor)
برای مقداردهی هنگام ایجاد شیء استفاده میشود.
مثال:
class Book {
String title;
int pages;
Book(String t, int p) {
title = t;
pages = p;
}
}
Book b = new Book("Java", 500);
4. بارگذاری سازنده (Constructor Overloading)
تعریف چند سازنده با تعداد یا نوع پارامتر متفاوت.
مثال:
class Student {
String name;
int age;
Student() {
name = "Default";
age = 18;
}
Student(String n, int a) {
name = n;
age = a;
}
}
Student s1 = new Student(); // سازنده بدون پارامتر فراخوانی میشود
Student s2 = new Student("Alice", 22); // سازنده با پارامتر
⚡️ @javapro_ir✈️ @group_javapro