Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Nesneye Dayalı Programlama 1

Benzer bir sunumlar


... konulu sunumlar: "Nesneye Dayalı Programlama 1"— Sunum transkripti:

1 Nesneye Dayalı Programlama 1
Öğretim Görevlisi Alper Talha KARADENİZ

2 Çok Biçimlilik (Polymorphizm)
Nesne tabanlı programlama dillerinde çok biçimlilik aynı temel sınıftan türetilmiş olan yeni sınıflarda metotların farklı şekillerde davranabilmesidir. 

3 public class A { public virtual void yaz() { Console
public class A { public virtual void yaz() { Console.WriteLine("ana sınıf"); } } public class B:A public override void yaz() { Console.WriteLine("alt sınıf"); } static void Main(string[] args) B nesneB= new b(); nesneB.yaz();

4 örnek  class Sekil     {         public double Boy;         public double En;         public Sekil(double boy, double en)  /* kurulurken boy ve en değerlerini alan constructor yazdık */         {             this.Boy = boy; /* base sınıfta sadece boş constructor olduğunda kullanılması yaygındır.*/             this.En = en;         }         public Sekil()         {         }         virtual public double Alan() /*sanal alan metodu yazdık. türeyen sınıfta Alan() metodu varsa buradaki                                                    ezilecektir.*/         {             return 0;         }     }

5 class Dortgen : Sekil /. sekil sınıfından dortgen sınıfını türettik
 class Dortgen : Sekil /* sekil sınıfından dortgen sınıfını türettik*/     {         public Dortgen(int boy, int en)             : base(/*boy,en*/)       /* alınan değerleri türetilen sınıftaki   değişkenlere gönderiyor.                                                  Base.Boy tanımlamamıza gerek olmuyor. */      /*eger base sınıfta (boy,en) constructorı yoksa bunu kullanamayız.*/                    {             base.Boy = boy; /* base sınıfta sadece boş constructor olduğunda kullanılması yaygındır.*/             base.En = en;         }         public override double Alan()  /* eger kurulan sınıf dortgen olursa sekil sınıfındaki Alan() metodu yerine                                                         buradaki Alan() çağırılacak*/         {             return En * Boy;         }     }

6 class Ucgen : Sekil { public Ucgen(int boy, int en) : base(boy, en) /
class Ucgen : Sekil     {         public Ucgen(int boy, int en)             : base(boy, en) /* eger base sınıfta (boy,en) constructorı yoksa bunu kullanamayız.*/         {         }         public override double Alan()  /* eger kurulan sınıf dortgen olursa sekil sınıfındaki Alan() metodu yerine                                                        buradaki Alan() çağırılacak*/         {             return En * Boy / 2;         }     }

7 class MainMetodu { public static void AlanBul(Sekil sekil) { Console
 class MainMetodu     {         public static void AlanBul(Sekil sekil)         {             Console.WriteLine("seklin alanı: " + sekil.Alan());         }         static void Main()         {             Ucgen ucgen = new Ucgen(10, 50);             AlanBul(ucgen);             Dortgen dortgen = new Dortgen(10, 50);             AlanBul(dortgen);             Sekil sekil = new Sekil(10, 50);             AlanBul(sekil);             Console.ReadLine();         }             }

8 Kaynaklar Öğr. Gör. Özgür Çiftçi
Nesne Tabanlı Programlama Ders Notları


"Nesneye Dayalı Programlama 1" indir ppt

Benzer bir sunumlar


Google Reklamları