kodyaziyorum.com Ana Sayfa

@kodyaziyorum.com E-Posta Girişi @kodyaziyorum.com Giriş
  Aktif Konular Aktif Konular
  SSS SSS  Forumu Ara   Kayıt Ol Kayıt Ol  Giriş Giriş

Anasayfa Anasayfa » .NET Programlama Dilleri » Makale

C# Inheritance(Miras) Nedir?

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Konu Seçenekleri Konu Seçenekleri
DoguhanAydeniz Açılır Kutu Gör
Moderatör
Moderatör
Simge

Kayıt Tarihi: 30/Ekim/2009
Konum: Ystanbul
Aktif Durum: Aktif Değil
Gönderilenler: 13
  Alıntı DoguhanAydeniz Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: C# Inheritance(Miras) Nedir?
    Gönderim Zamanı: 02/Kasym/2009 Saat 11:55

Inheritance, bir babanyn o?luna byrakty?y bir gayrimenkul gibidir veya babanyn DNA'syndan o?luna geçen karakteristik özellik gibidir.

Hemen bir örnek yaparak inheritance neymi? bakalym.

Marka, Model ve Araba adly 3 tane class(synyf) yapaca?yz.

Araba synyfy Model synyfyndan, Model synyfy da Marka synyfyndan inherit olacak.


MARKA SINIFI :

Marka synyfymyzy yazalym, Marka'nyn 2 tane özelli?i olacak "MarkaAdi" ve "Tarihce" ?eklinde.

public class Marka

{

private string _MarkaAdi;
public string MarkaAdi

{

get { return _MarkaAdi; }

set { _MarkaAdi = value; }

}

private string _Tarihce;
public string Tarihce

{

get { return _Tarihce; }

set { _Tarihce = value; }

}

 

 

public Marka()

{

//

// TODO: Add constructor logic here

//

}

}

 


MODEL SINIFI :

?imdi de Model synyfymyzy yazalym. Buna da ModelAdi, EnYuksekHiz, DortKapiMi, CabrioMu ve Fiyat adynda 5 tane property tanymlayalym ve en önemli dikkat etmeniz gereken nokta synyfymyzyn adynyn yanyna ": Marka" diyerek Model synyfyny Marka synyfyndan türetmemiz olmalydyr. Bunu dedi?imiz takdirde Model synyfynyn baba synyfy Marka olacak ve onun özelliklerini de kullanabilecek.


public class Model : Marka

{

private string _ModelAdi;
public string ModelAdi

{

get { return _ModelAdi; }

set { _ModelAdi = value; }

}

private int _EnYuksekHiz;public int EnYuksekHiz

{

get { return _EnYuksekHiz; }

set { _EnYuksekHiz = value; }

}

private bool _DortKapMi;
public bool DortKapiMi

{

get { return _DortKapMi; }

set { _DortKapMi = value; }

}

private bool _CabrioMu;
public bool CabrioMu

{

get { return _CabrioMu; }

set { _CabrioMu = value; }

}

private string _Fiyat;
public string Fiyat

{

get { return _Fiyat; }

set { _Fiyat = value; }

}

 

public Model()

{

//
// TODO: Add constructor logic here
//

}

}




ARABA SINIFI :
Araba synyfymyzy yapalym ve Model synyfyndan türetelim. Bu synyfa bir arabanyn herkese göre de?i?ebilen özelliklerini tanymlyyorum. Mesela ?ase Numarasy her arabada farklydyr veya her arabanyn sahibi farkly olmasy gibi. Bu synyfta ki Property(Özellik)'lerimiz : SahipAdSoyad, ModifiyeliMi, SaseNo'dur. 


public class Araba : Model

{

private string _SahipAdSoyad;
public string SahipAdSoyad

{

get { return _SahipAdSoyad; }

set { _SahipAdSoyad = value; }

}

private bool _ModifiyeliMi;
public bool ModifiyeliMi

{

get { return _ModifiyeliMi; }

set { _ModifiyeliMi = value; }

}

private string _SaseNo;
public string SaseNo

{

get { return _SaseNo; }

set { _SaseNo = value; }

}

 

public Araba()

{

//

// TODO: Add constructor logic here

//

}

}

 

?imdi ise olacaklara bakalym ve birbirinden inherit olmu? synyflarymyzy kullanmaya ba?layalym. Ben bir web projesi yapyyorum ve herhangi bir sayfanyn Page_Load event'yna a?a?ydaki ?ekilde tanymlamalar yapyp synyflarymy kullanyyorum.

Evet a?a?ydaki kodlarda dikkatinizi toplamanyz yer "Araba" synyfyny Car diye bir de?i?kene ça?yrdyk. Artyk Car, Model synyfyndan ve Model synyfyda Marka synyfyndan inherit olmu? bir class'dyr. Yani ?öyle betimleyelim;

Bu durumda Araba torun oldu, Model baba oldu, Marka ise Dede oldu. Dededen gelen özellikler nelerdir toruna MarkaAdi ve Tarihce property'leri. Baba'dan gelen özelliklerde ModelAdi, CabrioMu, EnYuksekHiz, Fiyat ve DortKapiMi propertyleridir. Araba, torun inherit oldu?u için ailesinden gelen tüm özelliklere sahiptir artyk. Aslynda sadece property de?il method'larda miras olarak kalabilirdi ama biz method yazmadyk. Mesela dedenin "OsmanlyTokadiAt" diye bir metodu olsaydy, torun da dedesinin bu metodunu kullanarak önüne gelene tokat atabilecekti. Tabii biz ?iddetten yana de?iliz. :)

protected void Page_Load(object sender, EventArgs e)

{

//Araba synyfyny Car diye bir de?i?kene ba?ladyk.

Araba Car = new Araba();

//Marka synyfyna ait özellikler

Car.MarkaAdi = "Hyundai";
Car.Tarihce = "Hyundai hakkynda tarihçe yazysy gelecek...";

//Marka synyfyna ait özellikler

Car.ModelAdi = "Getz";
Car.CabrioMu = false;
Car.DortKapiMi =
true;
Car.EnYuksekHiz = 220;
Car.Fiyat =
"13750";

//Araba synyfyna ait özellikler

Car.SahipAdSoyad = "Do?uhan AYDENIZ";
Car.ModifiyeliMi = false;
Car.SaseNo =
"F1GHA934FJ330IMDF23";

}




Araba synyfyny yukarydaki gibi tanymladyktan sonra Car de?i?kenimizin sonuna nokta koyun ve inherit olan özellikleri listeleyin.

Düzenleyen DoguhanAydeniz - 02/Kasym/2009 Saat 12:01
Yyi çaly?malar,
Do?uhan AYDENYZ

www.doguhanaydeniz.com
Yukarı Dön
Jenna Açılır Kutu Gör
Yeni Yazılımcı
Yeni Yazılımcı


Kayıt Tarihi: 09/Mart/2010
Konum: Ba?kent
Aktif Durum: Aktif Değil
Gönderilenler: 24
  Alıntı Jenna Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 09/Mart/2010 Saat 21:48

Ynheritance önemli bir kavram, iyi bir ?ekilde anla?ylmasy gerekiyor çünkü programlamada çok i?e yaryyor. C#'da bilmiyorum ama C++'da baya kullandyk =)
 
Te?ekkürler, güzel bir anlatym olmu? :)
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu Gör

Akoren.com Kurtlar Vadisi Pusu