Kalıtım (Inheritance)
Kalıtım, NTP’deki en önemli kavramlardan biridir ve bir sınıfın özelliklerinin farklı sınıflar tarafından da kullanılabilmesini sağlar. Buna miras alma da denir. Bu durumda miras alınan sınıfa üst veya temel sınıf (parent), miras alan sınıfa da türetilmiş sınıf (derived) denir. C#’ta bir sınıf sadece bir sınıftan türetilebilir.
Örnek
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp36
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//Kedi K = new Kedi(); //"Ben Minnoş kedi oldum
Kedi K = new Kedi("Gargamel"); //"Ben Gargamel kedi oldum
}
}
public class Canli
{
public Canli()
{
MessageBox.Show("Merhaba Dünya");
}
public void Nefes()
{
MessageBox.Show("Nefes alabilirim");
}
}
public class Hayvan : Canli
{
public void Nesin()
{
Nefes();
MessageBox.Show("Ben bir hayvan organizmasıyım");
}
}
public class Kedi : Hayvan
{
string Isim="Minnoş";
public Kedi()
{
Nesin();
MessageBox.Show($"Ben {Isim} kedi oldum");
}
public Kedi(string isim)
{
this.Isim = isim;
Nesin();
MessageBox.Show($"Ben {Isim} kedi oldum");
}
}
}
Örnek 2
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp37
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Araba ARB = new Araba { Marka = "TOGG", Yil=2020, Model="10F" };
MessageBox.Show($"{ARB.Yil} {ARB.Marka} {ARB.Model}");
Araba ARB2 = new Araba();
MessageBox.Show($"{ARB2.Yil} {ARB2.Marka} {ARB2.Model}");
}
}
public class Tasit
{
public string Marka { get; set; }
public int Yil { get; set; }
}
public class Araba : Tasit
{
public string Model { get; set; }
public Araba()
{
this.Marka= "TOFAŞ";
this.Yil = 2000;
this.Model = "Şahin";
}
}
}