سازنده‌ها (Constructors)

سازنده‌های جاوا: پیش‌فرض، پارامتری و مقداردهی اولیه اشیاء.

سازنده چیست؟

متد ویژه‌ای که هنگام new اجرا می‌شود — برای مقداردهی اولیه شیء:

public class Student {
    String name;
    int age;

    // سازنده
    Student(String n, int a) {
        name = n;
        age = a;
    }
}

// استفاده — مقداردهی هم‌زمان با ساخت!
Student s = new Student("علی", 20);

قواعد سازنده

سازنده پیش‌فرض

اگر سازنده ننویسید، جاوا یک سازنده خالی می‌سازد:

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 برای تفکیک ضروری است!

این مبحث بخشی از دوره آموزش کامل جاوا است.

ابزارهای مرتبط