سازندهها (Constructors)
سازندههای جاوا: پیشفرض، پارامتری و مقداردهی اولیه اشیاء.
سازنده چیست؟
متد ویژهای که هنگام new اجرا میشود — برای مقداردهی اولیه شیء:
public class Student {
String name;
int age;
// سازنده
Student(String n, int a) {
name = n;
age = a;
}
}
// استفاده — مقداردهی همزمان با ساخت!
Student s = new Student("علی", 20);
قواعد سازنده
- نام سازنده = نام کلاس
- بدون نوع بازگشتی (حتی void!)
- هنگام new خودکار اجرا میشود
سازنده پیشفرض
اگر سازنده ننویسید، جاوا یک سازنده خالی میسازد:
public class Person {
String name;
// جاوا مخفیانه این را میسازد:
// Person() { }
}
Person p = new Person(); ← کار میکند
p.name = "علی"; ← مقداردهی دستی
سازنده پارامتری
public class Rectangle {
double width;
double height;
Rectangle(double w, double h) {
width = w;
height = h;
}
double area() {
return width * height;
}
}
Rectangle rect = new Rectangle(5, 3);
System.out.println(rect.area()); ← 15.0
Overloading سازندهها
public class Book {
String title;
String author;
double price;
// سازنده کامل
Book(String t, String a, double p) {
title = t;
author = a;
price = p;
}
// سازنده سادهتر
Book(String t) {
title = t;
author = "ناشناس";
price = 0;
}
}
Book b1 = new Book("جاوا", "نویسنده", 250);
Book b2 = new Book("داستان"); ← با مقادیر پیشفرض
this — اشاره به شیء فعلی
public class Point {
int x, y;
Point(int x, int y) {
this.x = x; ← this.x فیلد، x پارامتر
this.y = y;
}
}
وقتی نام پارامتر همان نام فیلد است،
this برای تفکیک ضروری است!این مبحث بخشی از دوره آموزش کامل جاوا است.