Tasarım Kodlama

C# Soyut Sınıflar

Bir önceki yazılarda, soyut sınıflara bir göz atmıştık. Bu bölümde, örnekleri biraz genişleteceğiz ve bazı soyut metotlar de vereceğiz. Soyut metotlara yalnızca soyut sınıflar içinde izin verilir. Tanımları normal bir metot gibi görünecek, ancak içlerinde kodlar olmayacaktır.

Öyleyse neden hiçbir şey yapmayan boş bir mtot tanımlamak isteyesiniz? Çünkü soyut bir metot, o metotu tüm alt sınıflarda uygulamak için bir zorunluluktur. Aslında, alt sınıflarınızın bu metodu tanımladığından emin olmak için derleme zamanında kontrol edilir. Bir kez daha, bu, bir şey için bir temel sınıf yaratmanın harika bir yoludur, aynı zamanda alt sınıfların ne yapması gerektiği konusunda belirli bir miktarda kontrol sağlar. Bunu akılda tutarak, temel sınıfta soyut yöntemler olarak tanımlanan yöntemleri kullanmanız gerektiğinde, bir alt sınıfı her zaman temel sınıfı olarak değerlendirebilirsiniz.

Yukarıdaki kavramları açıklamak için aşağıdaki örneği göz önünde bulundurabiliriz.

Gördüğünüz gibi, hayvanlarımızı içerecek bir ArrayList oluşturuyoruz. Daha sonra yeni bir köpeği ve yeni bir kediyi örneklendirip listeye ekliyoruz.

Sırasıyla Köpek ve Kedi olarak örneklenirler, ancak aynı zamanda DortBacakliHayvan türündedirler ve derleyici o sınıfın alt sınıflarının Tanim() yöntemini içerdiğini bildiğinden, aslında tam olarak bilmeden bu yöntemi çağırmanıza izin verilir. Böylece, foreach döngüsünde yaptığımız şey olan DortBacakliHayvan tip yayın yaparak, alt sınıfların üyelerine erişim elde ederiz. Bu, birçok senaryoda çok yararlı olabilir.

1 yorum