Kalıtım Nesne Tabanlı Programlamada en önemli kavramlardan biridir, peki nedir bu Kalıtım, Miras (Inheritance); en basit haliyle bir sınıftaki metotların ve özelliklerin başka bir sınıfa aktarılması olarak açıklayabiliriz. Aşağıdaki Örnek Uygulamayı anlamayabilmek için biraz daha açıklayıcı olabilir.
Bir okuldaki öğrenci ve öğretmen bilgilerini kaydetmek için bir yapı oluşturulmak isteniyor burada kaydedilecek olan alanlar
Öğretmen
Ad
Soyad
Yaşadığı Şehir
Yaş
Bitirdiği Üniversite
Alanı
Öğrenci
Ad
Soyad
Yaşadığı Şehir
Yaş
Bölümü
Dikkat ederseniz ilk dört özellik her iki yapıda da ortak, ben bu özellikleri içeren ayrı bir sınıf yazıp Öğretmen ve Öğrenci sınıfları bu sınıftan kalıtım alırsa her seferinde bu özellikleri ayrı ayrı tanımlama derdinden kurtulurum.
Hemen kodlamaya başlayalım
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication3 { class Kisi_Ozellikleri { public string Ad; public string Soyad; public string YasadigiSehir; public int Yas; } class Ogretmen : Kisi_Ozellikleri { public string BitirdigiUniversite; public string Alani; } class Ogrenci : Kisi_Ozellikleri { } class Program { static void Main(string[] args) { Ogretmen umit = new Ogretmen(); Console.WriteLine("\t\tOGRETMEN BILGILERI GELIYOR\n"); umit.Ad = "Ümit"; umit.Soyad = "Hamzaoğlu"; umit.Alani = "Proffesional Developer"; umit.BitirdigiUniversite = "Plato MYO"; umit.Yas = 20; umit.YasadigiSehir = "İstanbul"; Console.WriteLine(umit.Ad); Console.WriteLine(umit.Soyad); Console.WriteLine(umit.Alani); Console.WriteLine(umit.BitirdigiUniversite); Console.WriteLine(umit.Yas); Console.WriteLine(umit.YasadigiSehir + "\n\n"); Console.WriteLine("\t\tOGRENCI BILGILERI GELIYOR\n"); Ogrenci ekrem = new Ogrenci(); ekrem.Ad = "Ekrem"; ekrem.Soyad = "Dirlik"; ekrem.YasadigiSehir = "SANLIURFA"; ekrem.Yas = 26; Console.WriteLine(ekrem.Ad); Console.WriteLine(ekrem.Soyad); Console.WriteLine(ekrem.Yas); Console.WriteLine(ekrem.YasadigiSehir); Console.ReadLine(); } } }
Console.WriteLine(
"\t\tOGRENCI BILGILERI GELIYOR\n"
); bu ne ise yariyor
\t tab boşluğu \n ise alt satıra geçmesi kullanıldı
Değeli Hocam bu programın birde birden fazla öğrenci istendiği programı yaparmısınız.