💎چطور سازنده ها را بهم متصل کنیم؟ (Chaining Constructors)
⚙️ برای ایجاد ارتباط میان سازنده ها (کنستراکتور) دو حالت وجود دارد:
👈 اتصال سازنده ها در یک کلاس
👈 اتصال سازنده های سوپر کلاس در زیر کلاس
🔅 اتصال سازنده ها در یک کلاس
در این حالت از کلیدواژه this() استفاده میکنیم. در واقع this در این مورد اشاره به سازنده های کلاس دارد.(برای خوانایی بهتر کد صفحه را در حالت افقی نگه دارید):
💡ضمنا با توجه به ورودی هر سازنده، میتوان مشخص کرد که this دقیقا به کدام سازنده اشاره دارد
🔰برای مثال:
🔅 اتصال سازنده های سوپر کلاس در زیر کلاس
برای اینکار از کلیدواژه super استفاده میشود. ضمنا تمامی قوانین در رابطه با this ، برای super نیز برقرار است:
#chaining #constructor #this #super
@pieceJava
⚙️ برای ایجاد ارتباط میان سازنده ها (کنستراکتور) دو حالت وجود دارد:
👈 اتصال سازنده ها در یک کلاس
👈 اتصال سازنده های سوپر کلاس در زیر کلاس
🔅 اتصال سازنده ها در یک کلاس
در این حالت از کلیدواژه this() استفاده میکنیم. در واقع this در این مورد اشاره به سازنده های کلاس دارد.(برای خوانایی بهتر کد صفحه را در حالت افقی نگه دارید):
class Chaining{
private String firstname;
private int age;
private String lastname;
//first constructor
public Chaining(String firstname,String lastname)
{
this.firstname = firstname;
this.lastname = lastname;
}
//chaining constructors
public Chaining(int age,String firstname,String lastname){
this(firstname,lastname);
this.age = age;
}
}
در این مثال در بدنه سازنده دوم بوسیله کلیدواژه this به سازنده اول اشاره کرده ایم و مقادیر ورودی را به سازنده اول بوسیله کلیدواژه this نسبت داده ایم.💡ضمنا با توجه به ورودی هر سازنده، میتوان مشخص کرد که this دقیقا به کدام سازنده اشاره دارد
🔰برای مثال:
class Temp {
public Temp() {
// calls constructor 2
this(5);
System.out.println("The Default constructor");
}
// parameterized constructor 2
public Temp(int x) {
// calls constructor 3
this(5, 15);
System.out.println(x);
}
// parameterized constructor 3
public Temp(int x, int y) {
System.out.println(x * y);
}
}
❌ حتما به خاطر داشته باشید که برای اشاره (this) به سازنده های پیشین حتما باید اینکار در خط اول بعد از ایجاد سازنده جدید صورت گیرد زیرا در غیر این صورت خطای کمپایلر را بدنبال خواهد داشت.🔅 اتصال سازنده های سوپر کلاس در زیر کلاس
برای اینکار از کلیدواژه super استفاده میشود. ضمنا تمامی قوانین در رابطه با this ، برای super نیز برقرار است:
class SuperClass{
private String firstName;
private String lastName;
public SuperClass(String firstName,String lastName){
this.firstName = firstName;
this.lastName = lastName;
}
}
class Chaining extends SuperClass{
private int age;
public Chaining(String firstName, String lastName,int age) {
super(firstName, lastName);
this.age = age;
}
}
———#chaining #constructor #this #super
@pieceJava
👍2