سازندهها
یک سازنده در جاوا یک متد مخصوص است که برای مقداردهی اولیه اشیاء استفاده میشود. سازنده زمانی که شیء از یک کلاس ساخته میشود فراخوانی میشود. این متد میتواند برای مقداردهی خاصیتهای شیء استفاده شود: [۱]
مثال
ساخت یک متد سازنده:
1 // Create a MyClass class
2 public class MyClass {
3 int x; // Create a class attribute
4
5
6 }
7
8 public static void main(String[] args) {
9 MyClass myObj = new MyClass(); // Create an object of class MyClass (This will call the constructor)
10 System.out.println(myObj.x); // Print the value of x
11 }
12 }
13
14 // Outputs 5
نکته: توجه داشته باشید که نام متد سازنده میبایست با نام کلاس یکی باشد و این متد نمیتواند نوع بازگشتی (مانند void
) داشته باشد.
همچنین توجه داشته باشید که سازنده زمانی که شیء ساخته میشود، فراخوانی میشود.
تمامی کلاسها به صورت پیشفرض متدهای سازنده پیشفرض را دارند :اگر شما خود متد سازنده نسازید، جاوا یک متد سازنده برای شما میسازد. اما، در آن صورت شما قادر نیستید که خاصیتهای شیء خود را مقداردهی اولیه کنید.پارامترهای متد سازنده
متدهای سازنده نیز پارامترهایی دارند که برای مقداردهی اولیه خاصیتها استفاده میشود.
مثال زیر، متد سازنده یک پارامتر از نوع صحیح و به نام y دارد، int y
درون متد سازنده ما متغیر x را با مقدار متغیر y مقداردهی میکنیم. (x=y). ما زمانی که متد سازنده را فراخوانی میکنیم، یک پارامتر به آن پاس میدهیم (۵) که موجب میشود که متغیر x با مقدار ۵ مقداردهی شود:
مثال
1 public class MyClass {
2 int x;
3
4 public MyClass(int y) {
5 x = y;
6 }
7
8 public static void main(String[] args) {
9 MyClass myObj = new MyClass(5);
10 System.out.println(myObj.x);
11 }
12 }
13
14 // Outputs 5
شما میتوانید هر چند پارامتر که میخواهید داشته باشید:
مثال
1 public class Car {
2 int modelYear;
3 String modelName;
4
5 public Car(int year, String name) {
6 modelYear = year;
7 modelName = name;
8 }
9
10 public static void main(String[] args) {
11 Car myCar = new Car(1969, "Mustang");
12 System.out.println(myCar.modelYear + " " + myCar.modelName);
13 }
14 }
15
16 // Outputs 1969 Mustang
منابع آموزشی