Serdar YILMAZ
Bizimkisi Bir “Bug” Hikayesi...
Serdivan/Sakarya
Serdar Yılmaz C# – Temel ve Türetilmiş Sınıf Referansları

C# – Temel ve Türetilmiş Sınıf Referansları

dotnetC#’da farklı türden referansların birbirine aktarılması yasaklanmıştır. Örneğin, A ve B isminde iki sınıfımız olsun. A sınıfından oluşturulan bir nesnenin adresini B sınıfından oluşturulan bir referansta tutamayız, aynı şekilde B sınıfından oluşturulan bir nesnenin adresini de A sınıfından oluşturulan bir referansta tutamayız.

Kalıtım ile Türetilmiş sınıftan oluşturulan bir nesnenin adresini, Temel sınıftan oluşturulan bir referansta tutabiliriz.

Kedi ve Insan sınıfı Memeli sınıfından Türetilmiştir. Bu durum da Memeli sınıfı Temel sınıf, Insan ve Kedi sınıfı da Türetilmiş sınıftır.

Açıklama satırlarında da belirtildiği üzere; Insan ve Kedi sınıfları Memeli sınıfından türetildiği için bu sınıflardan oluşturulan nesnelerin adresleri Memeli sınıfından oluşturulan referanslarda tutulabilir. Yalnız burada dikkat edilmesi gereken çok önemli bir husus bulunmakta. Memeli sınıfını inceleyecek olursak içerisinde “TurBilgisi()” adında bir metodun olmadığını görürüz. Bu yüzden Insan veya Kedi sınıfından oluşturulan bir nesnenin adresini Memeli sınıfından oluşturulan bir referansa aktardığımız taktirde “TurBilgisi()” metoduna erişemeyiz. Çünkü Memeli sınıfı içerisinde böyle bir metot bulunmamaktadır.

C# Kalıtım

Türetilmiş sınıf, temel sınıf içerisindeki değişkenleri ve metotları kendi içerisinde tanımlanmış gibi kullanabilir. Ancak temel sınıf, türetilmiş sınıftaki değişkenleri ve metotları kullanamaz.

Insan ve Kedi sınıfları, Memeli sınıfından türetildiği için “Bilgi()” metoduna Insan ve Kedi sınıfından oluşturulan nesnelerin referanslarını parametre olarak gönderebiliriz.

Serdar YILMAZ


Bu İçeriği Arkadaşlarınızla Paylaşmak İster misiniz?

Bir Yorum Yapın