سازنده ها در جاوا
Constructor یا تابع سازنده در زبان Java یک متد خاص است که برای مقداردهی اولیه ی فیلدهای کلاس و پرکردن آّبجکت با داده بکار می رود.
تابع constructor در زمان ایجاد آبجکت فراخوانی می شود. این تابع در واقع مقادیر را ساخته، فیلدهای کلاس را مقداردهی می کند و آبجکت ساخته شده از روی کلاس را با داده پر می نماید.
قواعد و استانداردهای تعریف تابع Constructor در Java
دو قاعده یا استاندارد وجود دارد که برای تعریف constructor باید از آن ها پیروی کرد:
- اسم constructor باید با اسم کلاس یکسان باشد.
- تابع constructor نباید هیچ نوع خروجی (مقدار بازگشتی) صریحی داشته باشد.
در کل دو نوع تابع سازنده وجود دارد که در زیر به آن ها اشاره می کنیم:
- تابع سازنده ی پیش فرض no-arg constructor) که پارامتری ندارد)
- تابع سازنده ی پارامتر دار (Parameterized constructor)
تابع سازنده ی پیش فرض Java
تابع سازنده ای که هیچ پارامتری نداشته باشد تحت عنوان constructor پیش فرض شناخته می شود.
دستور تعریف تابع سازنده ی پیش فرض:
< class_name >(){}
مثال کاربردی از تابع سازنده ی پیش فرض
در مثال حاضر قصد داریم که یک تابع سازنده ی بدون پارامتر (no-args) در کلاس Bike ایجاد کنیم. این تابع سازنده در زمان ساخت آبجکت از روی کلاس فراخوانی می شود.
class Bike1{
Bike1(){System.out.println(“Bike is created”);}
public static void main(String args[]){
Bike1 b=new Bike1();
}
}
خروجی:
Bike is created
تابع سازنده ی پارامتر دار (parameterized constructor) در Java
یک تابع سازنده که پارامتر دارد، تحت عنوان parameterized constructor یا سازنده ی پارامتردهی شده شناخته می شود.
مثال کاربردی از تابع سازنده ی پارامتردهی شده
در مثال پیشرو، می بینید که یک تابع سازنده از کلاس Student ایجاد کرده ایم که دو پارامتر ورودی دریافت می کند. البته در صورت تمایل می توان n تا پارامتر به عنوان ورودی به تابع سازنده ی پیش فرض پاس داد.
class Student4{
int id;
String name;
Student4(int i,String n){
id = i;
name = n;
}
void display(){System.out.println(id+” “+name);}
public static void main(String args[]){
Student4 s1 = new Student4(111,”Karan”);
Student4 s2 = new Student4(222,”Aryan”);
s1.display();
s2.display();
}
}
خروجی:
۱۱۱ Karan
۲۲۲ Aryan