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();