Sobes.tech
Middle

Ինքնատիպ դասերն ի՞նչ են և ինչպես են կիրառվում ծրագրավորման մեջ։

sobes.tech AI

Պատասխան AI-ից

Ներքին դասերը՝ դա դասեր են, որոնք հայտարարվում են մյուս դասի ներսում։ Դրանք թույլ են տալիս տրամաբանական խմբավորել միայն մեկ տեղ օգտագործվող դասերը, բարձրացնել ծածկագրության մակարդակը և դարձնել կոդը ավելի ընթեռնելի։

Ներքին դասերը՝

  • Կայուն (Կայուն Ներքին Դասեր): չունեն մուտք դեպի արտաքին դասի ոչ կայուն անդամներ։ կարող են ստեղծվել առանց արտաքին դասի օրինակ։
  • Անկայուն (Ներքին Դասեր): ունեն մուտք դեպի բոլոր անդամներ՝ ներառյալ՝ մասնավորները։ Անկայուն ներքին դասի օրինակ ստեղծելու համար անհրաժեշտ է արտաքին դասի օրինակ։

Կիրառումներ՝

  • Կոդի թաքցում: Ներքին դասը կարող է օգտագործվել որպես օգնական դաս, որի իրականացման մանրամասները պետք է չհասանելի լինեն արտաքինից։
  • Խմբավորում: Մտավոր միավորումը՝ սերտ կապված դասերի։
  • Հետադարձ զանգեր / լսողներ: Շատ հաճախ օգտագործվում է անանուն ներքին դասեր ստեղծելու համար՝ ինտերֆեյսների կամ ամփոփ դասերի իրականացման համար։
  • Իտերատորներ: Ներքին դասը հարմար է՝ իտերատոր իրականացնելիս, քանի որ ունի մուտք՝ հավաքածուի ներքին վիճակին։

Օրինակ (Java):

class OuterClass {
    private int outerField;

    // Կայուն ներքին դաս
    static class StaticNestedClass {
        void print() {
            // չունի մուտք outerField
            System.out.println("StaticNestedClass-ից");
        }
    }

    // Անկայուն ներքին դաս
    class InnerClass {
        void print() {
            // ունի մուտք outerField
            System.out.println("outerField: " + outerField);
        }
    }
}
// Կայուն ներքին դասի օրինակ ստեղծել
OuterClass.StaticNestedClass staticNested = new OuterClass.StaticNestedClass();
staticNested.print();

// Անկայուն ներքին դասի օրինակ ստեղծել
OuterClass outer = new OuterClass();
OuterClass.InnerClass inner = outer.new InnerClass();
inner.print();