Sobes.tech
Middle

Daxil olan siniflər nədir?

sobes.tech Süni İntellekt

AI-dan cavab

İç içe sinif, başqa bir sinifin içində təyin olunan sinifdir.

Java-da iç içə siniflərin növləri:

  • Statik iç içə siniflər (Static Nested Classes):

    • Xarici sinifin nümunəsi olmadan ona daxil olmaq mümkündür.
    • Xarici sinifin statik olmayan sahələrinə və metodlarına birbaşa daxil olmur.
    • static açar sözü ilə elan edilir.
  • Daxili siniflər (Inner Classes):

    • Üzv daxili siniflər (Member Inner Classes):
      • Xarici sinifin üzv səviyyəsində elan edilir.
      • Xarici sinifin bütün üzvlərinə (xüsusən özəl olanlara da) daxil ola bilir.
      • Öz nümunəsini yaratmaq üçün xarici sinifin nümunəsinə ehtiyac var.
    • Yerli daxili siniflər (Local Inner Classes):
      • Metod, konstruktor və ya başlanğıc bloku daxilində təyin edilir.
      • Yalnız həmin metod/blok daxilində görünür.
      • Xarici kontekstdə final və ya effektiv final olan yerli dəyişənlərə daxil ola bilir.
    • Anonim daxili siniflər (Anonymous Inner Classes):
      • Adı olmayan siniflər.
      • Bir interfeysi və ya sinfi dərhal həyata keçirmək üçün istifadə olunur.
      • Bir əməliyyat daxilində təyin və nümunə alınır.

Statik daxili sinif nümunəsi:

class OuterClass {
    private static String msg = "Hello from Outer";

    static class StaticNestedClass {
        public void display() {
            // Xarici sinifin statik üzvlərinə daxil ola bilər
            System.out.println(msg);
        }
    }
}
// İstifadə
// OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();
// nestedObject.display();

Üzv daxili sinif nümunəsi:

class OuterClass {
    private String msg = "Hello from Outer";

    class InnerClass {
        public void display() {
            // Bütün xarici sinif üzvlərinə daxil ola bilir
            System.out.println(msg);
        }
    }
}
// İstifadə
// OuterClass outerObject = new OuterClass();
// OuterClass.InnerClass innerObject = outerObject.new InnerClass();
// innerObject.display();

İç içə siniflərin istifadəsinin üstünlükləri:

  • Qruplaşdırma: Məlkiqən əlaqəli siniflər qruplaşdırıla bilər.
  • İnkapulsasiya: İç siniflər xarici sinifin özəl üzvlərinə daxil ola bilər, bu da inkapsulasiyanı yaxşılaşdırır.
  • Oxunaqlıq və baxım: Köməkçi siniflər əsas sinif daxilində gizlədilir.
  • Effektivlik: Daha sıx və effektiv məlumat strukturları yaratmaq üçün istifadə oluna bilər.