Kalıtım (Miras Alma- Inheritance) C#
Daha fazla bilgi için : www.gorselprogramlama.com
Kalıtım : Bir sınıfın tüm özellik ve metotlarının miras olarak alınmasıdır. Kullanım:
class Myclass
{
Kodlar;
}
class mirasci:Myclass
{
Kodlar;
}
Yukarıdaki kullanımda mirasci sınıfı Myclass’ın tüm metot ve özelliklerini kullanabilir ve ayrıca kendisine has metot ve özellik oluşturabilir.Ama mirasci sınıfının oluşturduğu metot ve özellikleri Myclass kullanamaz.
Örnek : İlk örnekte bir sinif oluşturalım ve bu sınıfı miras olarak alan yeni bir sınıf oluşturalım.

[code lang=”csharp”]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace kalitim_ilk
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}//Daha fazla bilgi için : www.gorselprogramlama.com
private void button1_Click(object sender, EventArgs e)
{
Mirasci m = new Mirasci();
label1.Text = m.isimAlGonder(textBox1.Text);
}
}
}
class Isim
{
private string s;
public string isimAlGonder(string ad)
{
s = ad;
return s;
}//Daha fazla bilgi için : www.gorselprogramlama.com
}
class Mirasci : Isim
{
}
[/code]
Yukarıdaki kodlara baktığımızda mirasci sınıfı Isim sınıfının özelliklerini miras olarak almıştır.

Örnek : Şimdide mirascı sınıf içinde metotlar oluşturalım.Diktörtgenin alan ve çevresini hesaplayan ve gerekli labellere yazdıran programı sınıf kullanarak hazırlayalım.

[code lang=”csharp”]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace kalitim
{//Daha fazla bilgi için : www.gorselprogramlama.com
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Diktortgen d = new Diktortgen();
d.kenarlar(int.Parse(textBox1.Text), int.Parse(textBox2.Text));
label4.Text = d.kenarlarGoster();
label6.Text=d.alanHesapla().ToString();
label8.Text = d.cevreHesapla().ToString();
}
}//Daha fazla bilgi için : www.gorselprogramlama.com
}
class Kenar
{
protected int kkenar, ukenar;
public void kenarlar(int a,int b)
{
kkenar = a;
ukenar = b;
}
private string k;
public string kenarlarGoster()
{
k = "a = "+kkenar.ToString() + " "+"b = " + ukenar.ToString();
return k;
}
}//Daha fazla bilgi için : www.gorselprogramlama.com
class Diktortgen :Kenar
{
private int sonuc;
public int alanHesapla()
{
sonuc = ukenar * kkenar;
return sonuc;
}
public int cevreHesapla()
{
sonuc = 2 * (ukenar + kkenar);
return sonuc;
}
}//Daha fazla bilgi için : www.gorselprogramlama.com
[/code]
