İçindekiler
Uygulamamızın hem boyut hem de karmaşıklık açısından daha büyük boyutlar aldığı zamanlar vardır, özellikle de bir ortamda çalışıyorsak. olay odaklı, bu yüzden sınıfları ayrı ayrı oluşturmak yerine iç içe sınıflar yapabiliriz.NS iç içe sınıflar Bir sınıfı diğerinin içinde tanımlamamıza izin verirler, bu şekilde onu içeren sınıfın bilgilerine erişebiliriz, bu sayede bağımsız yapılar oluşturmak zorunda kalmadan gereksinimleri daha basit bir şekilde karşılayabiliriz.
iç içe sınıflarA iç içe sınıf başka bir sınıfın kapsamı veya kapsamı içinde tanımlanan bir sınıftır, yani, onu içerecek olan sınıfın içindedir, bu, özniteliklerini kullanmak için dış sınıfın bir nesnesini iç sınıf içinde başlatmak zorunda kalmak yerine, anlamına gelir. ve o zamandan beri doğrudan yapabileceğimiz yöntemler elinizin altında.
Tamamen farklı bir kavram olduğu için bunu aynı dosya içindeki ayrı sınıflarla karıştırmamaya dikkat etmeliyiz, bu durumda bir sınıftan başka bir dosyadan bahsediyoruz ve dosyayı paylaşmalarından değil, her iki tanım arasındaki farkı görelim.
Resimde üst kısımda aynı dosyadaki sınıfların nasıl üst üste olduğunu görüyoruz, ancak alt kısımda iç içe sınıfın başka bir sınıfın tanımı içinde nasıl olduğunu görüyoruz, ancak bu fark belirgin görünüyor. Gelecekteki sorunlardan kaçınmak için açıklama yapmak iyidir.
1- A iç içe sınıf onu içeren sınıfa derlenir, bu bir dosya oluşturur .sınıf stil adlarının bir kombinasyonu ile ClassExternal $ ClassNested.class, resimdeki örneği takip edersek isim $ Nested.class'ı test edin.
2- A iç içe sınıf Yeni bir örnek oluşturmaya gerek kalmadan onu içeren sınıfın özniteliklerini ve yöntemlerini kullanabilir ve başvurabilirsiniz, bu sayede özellikle çalışırken programımızın içeriğini biraz basitleştirebiliriz. olay oryantasyonu, bunun nasıl ifade edildiğini aşağıdaki resimde görelim:
3- NS iç içe sınıf görünürlük değiştiricilerinden etkilenebilir ve özelliklerini üstlenebilir, ayrıca olarak da bildirilebilir. statik, ancak ikincisini yaparsak, yalnızca yöntemlere erişebileceğiz statik onu içeren sınıfın.
4- İç içe sınıflar olmalarına rağmen, bunlar onları içeren sınıfların dışındaki sınıfların örnekleri olabilir, bunun için aşağıdaki formu kullanabilirsiniz:
ExternalClass.NestedClassNestedClassObject = ExternalClassObject.newNested Class ();
İç içe sınıfımızın türünde olması durumunda statik daha sonra aşağıdaki formu kullanmalıyız:
Dış Sınıf. NestedClass iç içeClassObject = yeni OuterClass.NestedClass ();
Bununla bu öğreticiyi bitiriyoruz, nasıl üretebileceğimizi gördük iç içe sınıflar ve dilin bu özelliği ile ilişkili sözdizimi, bu çalışma şeklinin kullanışlılığı, bağımlı sınıfları tek bir büyük sınıfta birleştirebilmemizdir, bununla dosya sayısını ve ayrıca kaynak kodunu azaltırız, bununla daha büyük sahibiz uygulamamızı kontrol ediyor ve ilgili her şeyi aynı sınıfta toplayarak geliştirme ekibimizin hayatını kolaylaştırıyoruz.