Middle
Ішкі кластар дегеніміз не?
sobes.tech AI
AI-дан жауап
Ішкі класс — бұл басқа класс ішінде анықталған класс.
Java-да ішкі кластардың түрлері:
-
Статикалық ішкі кластар (Static Nested Classes):
- Сыртқы кластың экземплярынсыз қол жетімді.
- Сыртқы кластың статикалық емес өрістеріне және әдістеріне тікелей қол жеткізе алмайды.
staticкілттік сөзімен жарияланады.
-
Ішкі кластар (Inner Classes):
- Мүшелік ішкі кластар (Member Inner Classes):
- Сыртқы кластың мүшелері деңгейінде жарияланады.
- Барлық сыртқы кластың мүшелеріне (оның ішінде жеке мүшелеріне де) қол жеткізе алады.
- Өз экземплярын жасау үшін сыртқы кластың экземпляры қажет.
- Жергілікті ішкі кластар (Local Inner Classes):
- Әдіс, конструктор немесе инициализация блогы ішінде анықталады.
- Бұл әдіс/блок шегінде ғана көрінеді.
- Сыртқы контексттің
finalнемесе тиімдіfinalлокальды айнымалыларына қол жеткізеді.
- Анонимді ішкі кластар (Anonymous Inner Classes):
- Аты жоқ кластар.
- Интерфейсті немесе класты бірден жүзеге асыратын объектілер жасау үшін қолданылады.
- Бір операцияда анықталып, инстанцирленеді.
- Мүшелік ішкі кластар (Member Inner Classes):
Статикалық ішкі кластың мысалы:
class OuterClass {
private static String msg = "Hello from Outer";
static class StaticNestedClass {
public void display() {
// Сыртқы кластың статикалық мүшелеріне қол жеткізе алады
System.out.println(msg);
}
}
}
// Қолдану
// OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();
// nestedObject.display();
Мүшелік ішкі кластың мысалы:
class OuterClass {
private String msg = "Hello from Outer";
class InnerClass {
public void display() {
// Барлық сыртқы кластың мүшелеріне қол жеткізе алады
System.out.println(msg);
}
}
}
// Қолдану
// OuterClass outerObject = new OuterClass();
// OuterClass.InnerClass innerObject = outerObject.new InnerClass();
// innerObject.display();
Ішкі кластарды қолданудың артықшылықтары:
- Топтастыру: Логикалық байланысты кластар топтастырылуы мүмкін.
- Инкапсуляция: Ішкі кластар сыртқы кластың жеке мүшелеріне қол жеткізе алады, бұл жақсы инкапсуляцияны қамтамасыз етеді.
- Оқылымдылық пен қолдау: Қосалқы кластар негізгі кластың ішінде жасырын тұрады.
- Тиімділік: Көбірек ықшам және тиімді деректер құрылымдарын жасау үшін қолданылуы мүмкін.