NESNEYE DAYALI PROGRAMLAMA 9. HAFTA UYGULAMA DERSİ
KALITIM
Kalıtım Biribiri ile bağlantılı bir grup öğenin ortak özelliklerini tanımlayan genel bir sınıf tanımlanabilir Bu sınıf daha sonra diğer özel sınıflara kalıtım yoluyla aktarılabilir ve her sınıf kendine özgü özellikleri buraya ekler Kalıtım yoluyla aktarılan sınıfa temel sınıf, kalıtım işlemini gerçekleyen sınıfa türetilmiş sınıf denir
Kalıtım - Uygulama class IkiBoyutlu public double genislik; public double yukseklik; public void goster() Console.WriteLine("Genişlik = " + genislik); Console.WriteLine("Yükseklik " + yukseklik); class Ucgen : IkiBoyutlu public string tip; public double alan() return genislik * yukseklik / 2; public void tipgoster() Console.WriteLine("Üçgen tipi : " + tip); class Program Ucgen t1 = new Ucgen(); Ucgen t2 = new Ucgen(); t1.genislik = 4.0; t1.yukseklik = 4.0; t1.tip = "ikizkenar"; t2.genislik = 8.0; t2.yukseklik = 12.0; t2.tip = "dik"; t1.tipgoster(); t1.goster(); Console.WriteLine("Alan = " + t1.alan()); Console.WriteLine(); t2.tipgoster(); t2.goster(); Console.WriteLine("Alan = " + t2.alan()); Console.Read();
Üye erişimi ve kalıtım Uygulama I class IkiBoyutlu2 double _genislik; double _yukseklik; public double genislik get return _genislik; set _genislik = value; public double yukseklik get return _yukseklik; set _yukseklik = value; class Ucgen : IkiBoyutlu2 public string tip; public double alan() return genislik * yukseklik / 2; public void tipgoster() Console.WriteLine("Tip = " + tip); public void goster() Console.WriteLine("Genislik = " + genislik ); Console.WriteLine("Yükseklik = " + yukseklik);
class Program Ucgen t1 = new Ucgen(); Ucgen t2 = new Ucgen(); Üye erişimi ve kalıtım Uygulama I t1.genislik = 4.0; t1.yukseklik = 4.0; t1.tip = "ikizkenar"; t2.genislik = 8.0; t2.yukseklik = 12.0; t2.tip = "dik"; t1.tipgoster(); t1.goster(); Console.WriteLine("Alan = " + t1.alan()); Console.WriteLine(); t2.tipgoster(); t2.goster(); Console.WriteLine("Alan = " + t2.alan());
class B : A int k; Üye erişimi ve kalıtım Uygulama II class A protected int i, j; public void ata(int a, int b) i = a; j = b; public void ata2() k = i * j; public void goster2() Console.WriteLine(k); class Program B ob = new B(); ob.ata(2, 3); ob.goster(); public void goster() Console.WriteLine(i + " " + j); ob.ata2(); ob.goster2(); Console.Read();
class IkiBoyutlu double _genislik; double _yukseklik; Yapılandırıcılar ve Kalıtım - Uygulama public IkiBoyutlu(double g, double y) genislik = g; yukseklik = y; public double genislik get return _genislik; set _genislik = value; public double yukseklik get return _yukseklik; set _yukseklik = value; public void goster() Console.WriteLine("Genislik = " + genislik); Console.WriteLine("Yükseklik = " + yukseklik);
Yapılandırıcılar ve Kalıtım - Uygulama class Ucgen : IkiBoyutlu string tip; public Ucgen(string t, double g, double y): base(g, y) tip = t; public double alan() return genislik * yukseklik / 2; public void tipgoster() Console.WriteLine("Tip = " + tip); class Program Ucgen t1 = new Ucgen("ikizkenar", 4.0, 4.0); Ucgen t2 = new Ucgen("dik", 8.0, 12.0); t1.tipgoster(); t1.goster(); Console.WriteLine("Alan = " + t1.alan()); Console.WriteLine(); t2.tipgoster(); t2.goster(); Console.WriteLine("Alan = " + t2.alan()); Console.Read();
Sanal Metotlar ve Devre Dışı Bırakma class TemelSınıf public virtual void metot() Console.WriteLine("Temel sınıf içerisindeki metot"); class TuretilmisSınıf1 : TemelSınıf public override void metot() Console.WriteLine("TuretilmisSınıf1 içerisindeki metot"); class Program TemelSınıf temel = new TemelSınıf(); TuretilmisSınıf1 t1 = new TuretilmisSınıf1(); TuretilmisSınıf2 t2 = new TuretilmisSınıf2(); TemelSınıf temelreferans; temelreferans = temel; temelreferans.metot(); temelreferans = t1; temelreferans.metot(); class TuretilmisSınıf2 : TemelSınıf public override void metot() Console.WriteLine("TuretilmisSınıf2 içerisindeki metot"); temelreferans = t2; temelreferans.metot(); Console.Read();
Özet Sınıf- Uygulama abstract class Arac public string renk; abstract public void goster(); class Araba : Arac public string vites_tipi; public override void goster() Console.WriteLine("ARABANIN ÖZELLİKLERİ : "); Console.WriteLine("Renk :" + renk); Console.WriteLine("Vites tipi : " + vites_tipi); class Tekne : Arac public string malzeme; public override void goster() Console.WriteLine("\nTEKNENİN ÖZELLİKLERİ: "); Console.WriteLine("Renk :" + renk); Console.WriteLine("Malzeme : " + malzeme); class Program static void Main(string[] args) Araba a = new Araba(); a.renk = "Mavi"; a.vites_tipi = "Düz"; a.goster(); Tekne t = new Tekne(); t.renk = "Beyaz"; t.malzeme = "Ahşap"; t.goster(); Console.ReadKey();
Kutulama ve Kutudan Çıkarma (boxing & unboxing) class Boxing int x; object obj; x = 10; obj = x; int y = (int)obj; Console.WriteLine(y);
class Program object[] dizi = new object[10]; Object Veri Tipi for (int i = 0; i < 3; i++) dizi[i] = i; for (int i = 3; i < 6; i++) dizi[i] = (double)i / 2; dizi[6] = "Generic Array"; dizi[7] = true; dizi[8] = 'X'; dizi[9] = "end"; for (int i = 0; i < dizi.length; i++) Console.WriteLine("dizi[" + i + "]: " + dizi[i] + " ");