C# Miras Alma (Inheritance)
Nesneye Dayalı Programlama'nın en önemli konseptlerinden biri olan inheritance yani miras almadan bahsedeceğiz. Şimdi bu kavramı bir örnekle açıklamaya çalışalım, ElektronikCihaz adında bir sınıfımız olsun. Bu elektronik cihazların ortak özellikleri arasında marka, çalışma durumu, vs. vardır. Örneğin bir bilgisayarın markası varsa aynı şekilde filtre kahve makinesinin de markası vardır. Bunları ayrı ayrı iki sınıf içinde üye olarak tanımlamak yerine tek bir ana sınıfta bu ortak üyeleri bulundurabilir ve o ana sınıftan miras alabiliriz:
class ElektronikCihaz
{
public string marka;
public bool calisiyorMu;
}
class Bilgisayar : ElektronikCihaz
{
Bilgisayar(string markaAdi, bool calismaDurumu)
{
marka = markaAdi;
calisiyorMu = calismaDurumu;
}
}
class FiltreKahveMakinesi : ElektronikCihaz
{
FiltreKahveMakinesi(string markaAdi, bool calismaDurumu)
{
marka = markaAdi;
calisiyorMu = calismaDurumu;
}
}
Bu şekilde kullanımda bulunabiliriz. Ancak access modifiers konusunda dikkat etmemiz gereken bazı durumlar var. public ve protected olarak tanımlanmış sınıf üyeleri türetilmiş sınıf içerisinde kullanılabilirken, private olarak tanımlanmış üyeler direkt olarak türetilmiş sınıfta kullanılamazlar. Lafın kısası bu şekilde property'lere, üyelere kalıtım yolu ile ulaşabiliriz. Yani buradaki amaç yeniden kullanılabilirliği arttırmak ve kod okunabilirliğini sağlamak diyebiliriz.
Hiç yorum yok: