CodeGym /جاوا بلاگ /Random-SD /جاوا ۾ ڪنسٽرڪٽر زنجير
John Squirrels
سطح
San Francisco

جاوا ۾ ڪنسٽرڪٽر زنجير

گروپ ۾ شايع ٿيل

Constructor Chaining ڇا آهي؟

جاوا ۾ هڪ تعمير ڪندڙ هڪ مخصوص طريقو آهي جيڪو ڪلاس جي شئي ٺاهڻ ۾ استعمال ٿيندو آهي. تعمير ڪندڙ کي سڏيو ويندو آهي هر وقت ڪلاس جو هڪ اعتراض ٺاهيو ويندو آهي. اهو استعمال ڪري سگهجي ٿو قدر کي تفويض ڪرڻ لاءِ شئي جي ملڪيتن کي تخليق جي وقت. جاوا ڪلاس ۾ ڪيترائي ٺاھيندڙ ٿي سگھن ٿا مختلف پيٽرولر لسٽن سان. Constructor chaining استعمال ڪيو ويندو آھي مختلف لاڳو ڪرڻ لاءِ ھڪ ئي ڪلاس/پيرنٽ ڪلاس جي ٺاھيندڙن کي اعتراض ٺاھڻ وقت.

جاوا ۾ ڪنسٽرڪٽر زنجير ڪيئن لاڳو ٿئي ٿي؟

اتي ٻه طريقا آھن زنجير ٺاھيندڙن جي بنياد تي ٺاھيندڙ کي ڪيئن سڏجي. اهي هن ريت آهن.
  • استعمال ڪندي هي () لفظ - ساڳئي طبقي جي تعمير ڪندڙن کي سڏڻ لاء
  • استعمال ڪندي super() لفظ - والدين طبقي جي تعمير ڪندڙن کي سڏڻ لاءِ
اهو هيٺين مثالن ۾ وضاحت ڪئي وئي آهي.جاوا ۾ ڪنسٽرڪٽر زنجير - 1

Constructor chaining مثال #1 - Constructors زنجيرن ۾ جڙيل آهن هي لفظ استعمال ڪندي

اسان DerivedClass لاءِ چار ٺاھيندڙن جو اعلان ڪيو آھي. هڪ ته بغير ڪنهن دليل سان ۽ ٻيا ٽي مختلف دليلن سان. هر تعمير ڪندڙ جي اندر، هي () لفظ استعمال ڪيو ويندو آهي ساڳئي طبقي جي ايندڙ تعمير ڪندڙ کي سڏڻ لاء.

package com.tutorialwriting.constchaining;
 
public class DerivedClass{
 
    String firstName;
    String country;
    int age;
 
    public DerivedClass() {
        // calling one argument constructor
        this("Maggie");
    }
 
    public DerivedClass(String firstName) {
        // calling two argument constructor
        this(firstName, 15);
    }
 
    public DerivedClass(String firstName, int age) {
        // calling three argument constructor
        this(firstName, age, "Australia");
    }
 
    public DerivedClass(String firstName, int age, String country) {
        this.firstName = firstName;
        this.age = age;
        this.country = country;
    }
 
    void displayValues() {
        System.out.println("First Name : " + firstName);
        System.out.println("Country : " + country);
        System.out.println("Age : " + age);
    }
 
    public static void main(String args[]) {
        DerivedClass object = new DerivedClass();
        object.displayValues();
    }
}
عملدرآمد جو نتيجوجاوا ۾ ڪنسٽرڪٽر زنجير - 2

Constructor chaining مثال #2 - ڪنسٽرڪٽرز زنجيرن سان جڙيل آھن super() لفظ استعمال ڪندي

هتي، ٻار ڪلاس سڏي ٿو والدين طبقي جي تعمير ڪندڙن کي استعمال ڪندي super() لفظ. BaseClass ۾ ٽي ٺاھيندڙ آھن. بنا ڪنهن دليل سان هن () کي استعمال ڪندي BaseClass جي ٽن-دليل-ڪنسٽرڪٽر مان هڪ کي سڏي ٿو .

package com.tutorialwriting.constchaining;
 
public class BaseClass {
 
    public BaseClass() {
        //calling a three argument constructor of the same class
        this("Male", "English", "1989/11/10");
        System.out.println("I'm executed third!!!");
    }
 
    public BaseClass(String firstName, String surname, int idNo) {
        System.out.println("I'm executed first!");
        System.out.println("First name : " + firstName);
        System.out.println("Surname : " + surname);
        System.out.println("ID Number : " + idNo);
    }
 
    public BaseClass(String gender, String nationality, String birthDate) {
        System.out.println("I'm executed second!!");
        System.out.println("Gender : " + gender);
        System.out.println("Nationality : " + nationality);
        System.out.println("Birth Date : " + birthDate);
    }
 
}
DerivedClass ۾ ٻه ٺاھيندڙ آھن، جن مان ھر ھڪ سپر ڪلاس جي مختلف ٺاھيندڙن کي سڏي ٿو super() .

package com.tutorialwriting.constchaining;
 
public class DerivedClass extends BaseClass {
 
    public DerivedClass() {
        //calling no argument constructor of the super class
        super();
    }
 
    public DerivedClass(String firstName, String surname, int idNo) {
        //calling three argument constructor of the super class
        super(firstName, surname, idNo);
    }
 
    public static void main(String args[]) {
        DerivedClass object2 = new DerivedClass("Paul", "Wilson", 123456);
        DerivedClass object1 = new DerivedClass();
    }
}
عملدرآمد جو نتيجوجاوا ۾ ڪنسٽرڪٽر زنجير - 3

واضح بمقابلہ واضح تعمير ڪندڙ ڪالنگ

جاوا ۾ ٻه مختلف طريقا آهن ڪال ڪنسٽرڪٽرز: امپليڪٽ ڪالنگ ۽ ايڪسپلسٽ ڪالنگ.
  • واضح ڪالنگ جو حوالو آهي ڪال ڪنسٽرڪٽرز کي واضح طور تي ڪوڊ ۾ استعمال ڪندي هي() يا سپر() .
  • امپليڪٽ ڪالنگ مان مراد سپر ڪلاس جي نون آرگيومينٽ ڪنسٽرڪٽر جي ڪالنگ کي واضح طور تي چائلڊ ڪلاس ڪنسٽرڪٽر کان اهڙي واضح ڪال جي غير موجودگي تي. ٻين لفظن ۾، ڪمپيلر سپر () ڪال کي ٻار جي ڪلاس جي ڪنهن به تعمير ڪندڙ جي پهرين لائن طور شامل ڪري ٿو جيڪڏهن پروگرامر واضح طور تي ڪوڊ ۾ سپر () کي ڪال نه ڪري.

اسان کي ڪنسٽرڪٽر زنجير جي ضرورت ڇو آهي؟

جاوا ۾ هڪ تعميراتي زنجير هجڻ جا ڪيترائي مختلف مقصد آهن، جيئن هيٺ ڏنل فهرست ڏنل آهي.
  • اهو ٻين تعمير ڪندڙن جي ملڪيت يا والدين طبقن جي ملڪيت تائين رسائي جو هڪ طريقو آهي.
  • ٻين تعمير ڪندڙن کي سڏڻ دوران، صرف هڪ اعتراض استعمال ڪيو پيو وڃي، جيڪو ڪلاس جو موجوده مثال آهي. شروعات هڪ جاءِ تي ٿئي ٿي، پر اسان کي هڪ زنجير ذريعي مختلف تعميراتي عملن کي سڏڻ جو اعزاز حاصل آهي. هي ميموري مينيجمينٽ ۽ ڪوڊ جي سار سنڀال ۾ وڏي مدد ڪري ٿو.

نتيجو

هن سبق ۾، اسان جاوا ۾ تعميراتي زنجير تي بحث ڪيو. ٺاھڻ وارا طريقا آھن ڪوڊ حصا آھن جيڪي شيون ٺاھڻ وقت سڏيا ويندا آھن. هڪ جاوا ڪلاس مختلف پيٽرولر جي فهرستن سان تعمير ڪندڙن جو تعداد رکي سگھي ٿو. ڪنسٽرڪٽر زنجير هڪ ڪلاس جي هڪ مثال سان مختلف شروعاتن کي سنڀالڻ جو هڪ آسان طريقو آهي. هن سبق مان نوٽ ڪرڻ لاء ڪجهه اهم نقطا هيٺ ڏنل آهن.
  • جيڪڏهن پروگرامر ان کي واضح طور تي ڪوڊ ۾ شامل نه ڪندو آهي، ڪمپلر جاوا ڪلاس ۾ عوامي بغير دليل جي تعمير ڪندڙ کي شامل ڪري ٿو. اهو ڊفالٽ تعمير ڪندڙ سڏيو ويندو آهي.
  • this() ۽ super() کي تعمير ڪندڙ جي پهرين لڪير طور لکڻ گهرجي.
  • هي () استعمال ڪيو ويندو آهي ساڳئي طبقي جي تعمير ڪندڙن کي سڏڻ لاءِ جڏهن ته سپر () استعمال ڪيو ويندو آهي فوري سپر ڪلاس جي تعمير ڪندڙن کي سڏڻ لاءِ.
  • ڪلاس ۾ گھٽ ۾ گھٽ ھڪڙو ٺاھيندڙ ھجڻ گھرجي جنھن ۾ ھي () لفظ شامل نه ھجي.
  • جيڪڏهن واضح طور تي شامل نه ڪيو ويو آهي، مرتب ڪندڙ هر ٻار طبقي جي تعمير ڪندڙ کي غير دليل وارو سپر () ڪال شامل ڪري ٿو. هي مدد ڪندو ڪلاسن جي صحيح ترتيب ۾.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION