Anonim İç Sınıf Nedir?

Nesne yönelimli bilgisayar programlamasında adsız bir iç sınıf, bir yöntemin içinde bildirilen ancak adsız bir sınıftır. Anonim bir iç sınıf, erişebileceği değişkenlerin kapsamı da dahil olmak üzere normal bir sınıftan farklı kılan bazı kısıtlamalara sahiptir. Anonim bir iç sınıf kullanmanın kaynak kodunu daha okunaklı hale getirebileceği bazı özel durumlar vardır, ancak öncelikle ayrı sınıfların oluşturulmasının karmaşıklaştırabileceği kapsüllemeyi güçlendirmeye yardımcı olmak için kullanılır.

Kapsülleme, nesne yönelimli programlamada (OOP), bir nesnenin ve bileşenlerinin bir şekilde korunup nesneye bağlı olması gerektiği kavramıdır. Anonim iç sınıflar ve genel olarak iç sınıflar, özellikle karmaşık nesneler için enkapsülasyonu gerçekleştirmeye yardımcı olur. Ayrı bir dış sınıfa dayanan bir sınıf oluşturmak yerine, bunları yapay olarak bir araya getirmek ve bazı bileşenlerin potansiyel olarak ortaya çıkmasını sağlamak yerine, anonim bir iç sınıf, ikisini sağlam bir şekilde birbirine bağlayabilir.

Bazı programlama dillerinde, adsız bir iç sınıf, tek miras kısıtlamalarının üstesinden gelmeye yardımcı olabilir. Bir nesne bir sınıftan miras alırsa, ancak diğerine erişmesi gerekirse, anında bir iç sınıf oluşturulabilir ve ardından uygun işleyicilere geçirilebilir. Bu teknik geri aramalar ve olay dinleyicileri ile ortaktır. Tek alternatif, sadece bir veya iki yöntemin geçersiz kılındığı ikinci bir sınıf oluşturmak olacaktır.

Anonim iç sınıfların, kapsüllemeyi engellemenin önlenmesi ve kapsamın uygulanması için bazı kısıtlamalar vardır. Birincil kısıtlama, isimsiz bir iç sınıfın, bu değişkenler nihai olarak ilan edilmediği sürece içinde bulunduğu yöntemin değişkenlerine erişememesidir. Bunun nedeni, iç sınıfın, sınıfın ömrünün ötesinde ve içinde bulunduğu yöntemin ötesinde çalışmaya devam edebilmesidir. Sarma sınıfının değişkenleri, ömrü sona erdiğinde tahrip olacaktı, bu nedenle iç sınıfın referansları hemen geçersiz hale gelecekti. Bunun tek istisnası nihai bir değişkendir, çünkü örneğin ötesinde varolur.

Anonim bir iç sınıf için daha spesifik kullanımlardan biri kod korumasıdır. Birçok OOP dili, yansıma denilen bir mekanizma sağlar. Yansıma, bir programın başka bir sınıfı incelemesine izin verir ve üye değişkenlerinin ve yöntemlerinin ne olduğunu görür, ancak kodun kendisi değildir. Anonim bir iç sınıf kullanarak, iç sınıfın içeriği yansımadan korunur ve daha büyük sınıfın iç çalışmaları etkili bir şekilde gizlenebilir.