Sobes.tech
Middle

Ичке класс деген эмне жана алар программалоодо кандай колдонулат?

sobes.tech AI

AIден жооп

Ичке класстар - бул башка класс ичинде жарыяланган класс. Алар логикалык жактан бир гана бир жерде колдонулган класстарды топтоштурууга, инкапсуляцияны жогорулатууга жана кодду окууну жеңилдетүүгө мүмкүндүк берет.

Ичке класстар:

  • Статикалык (Static Nested Classes): тышкы класстын статикалык эмес мүчөлөрүнө жеткиликсиз. Алар тышкы класстын экземплярсыз түзүлө алат.
  • Нестатикалык (Inner Classes): бардык тышкы класстын мүчөлөрүнө жеткиликтүү (кошумча приваттык мүчөлөрдү да камтыйт). Нестатикалык ички класстын экземплярын түзүү үчүн тышкы класстын экземпляры керек.

Колдонуу:

  • Ишке ашырууну жашыруу: Ички класс жардамчы класс катары колдонулушу мүмкүн, анын ишке ашыруу деталдары сырттан жеткиликтүү болбошу керек.
  • Топтоо: Тың жана тыгыз байланышкан класстарды логикалык жактан бириктирүү.
  • Колбэк / угучуларды ишке ашыруу: Адатта интерфейстерди же абстракттык класстарды ишке ашыруу үчүн анонимдүү ички класстарды түзүүдө колдонулат.
  • Итераторлор: Ички класс коллекциянын ички абалын жеткиликтүү кылгандыктан, итераторду ишке ашырууда ыңгайлуу.

Мисал (Java):

class OuterClass {
    private int outerField;

    // Статикалык ички класс
    static class StaticNestedClass {
        void print() {
            // outerFieldке жеткиликсиз
            System.out.println("From StaticNestedClass");
        }
    }

    // Нестатикалык ички класс (Inner Class)
    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();