Tasarım Kodlama

C# Abstract Sınıflar

Abstract class nedir

Abstract Sınıf tanımında özet anahtar sözcüğüyle işaretlenen soyut sınıflar, genellikle hiyerarşide bir temel sınıf tanımlamak için kullanılır. Onlarla ilgili özel olan şey, onların bir örneğini yaratamamanızdır – denerseniz, bir derleme hatası alırsınız. Onları alt sınıflara ayırmanız ve alt sınıfınızın bir örneğini oluşturmanız gerekir. Peki ne zaman soyut bir sınıfa ihtiyacınız olur? Gerçekten ne yaptığınıza bağlı.

Dürüst olmak gerekirse, soyut bir sınıfa ihtiyaç duymadan uzun bir yol kat edebilirsiniz, ancak bunlar frameworkler gibi belirli şeyler için harikadır, bu yüzden .NET frameworkü içinde oldukça fazla soyut sınıf bulacaksınız. İyi bir kural, adın gerçekten mantıklı olmasıdır – soyut sınıflar, her zaman olmasa da, çok sık olarak, soyut bir şeyi, gerçek bir şeyden çok bir kavram olan bir şeyi tanımlamak için kullanılır.

Abstract class nasıl kullanılır

Bu örnekte, dört bacaklı hayvanlar için bir temel sınıf oluşturacağız ve ardından ondan miras alan bir Kopek sınıfı oluşturacağız, şöyle:

Mirasla ilgili bölümdeki örneklerle karşılaştırırsanız büyük bir fark görmezsiniz. Aslında DortBacaklilar tanımının önündeki abstract anahtar kelime en büyük farktır. Gördüğünüz gibi Kopek sınıfının yeni bir örneğini oluşturuyoruz ve ardından DortBacaklilar sınıfından devralınan Tanim() metodunu çağırıyoruz. Şimdi bunun yerine DortBacaklilar sınıfının bir örneğini oluşturmayı deneyin:

Bu derleyici hatasını alacaksınız:

Şimdi, aşağıda gördüğünüz gibi, Tanim() yöntemini yeni devraldık, ancak şu anki haliyle Kopek sınıfımız için pek kullanışlı değil. Geçersiz kılalım:

Bu durumda, tam bir geçersiz kılma yaparız, ancak bazı durumlarda, yeni işlevselliğe ek olarak temel sınıftaki davranışı kullanmak isteyebilirsiniz. Bu, sınıfa miras aldığımız temel anahtar kelime kullanılarak yapılabilir:

Şimdi açıkçası, DortBacakli sınıfının başka alt sınıflarını da oluşturabilirsiniz

Yorum yap