using _11_AbstractClasses.Demos.Sekiller.Bases;
namespace _11_AbstractClasses.Demos.Sekiller
{
public class SekillerDemo
{
public static void Calistir()
{
Daire daire1 = new Daire() // Daire tipinde instance (obje) oluşturma (initialization)
{
Yaricap = 5,
// PiUcMu özelliği atanmadığından YuvarlakSekilBase üzerinden default (varsayılan) olarak true atanacaktır
};
Console.WriteLine("1. dairenin çevresi: " + daire1.CevreHesapla());
Console.WriteLine("1. dairenin alanı: " + daire1.AlanHesapla());
Daire daire2 = new Daire()
{
Yaricap = 10,
PiUcMu = false
};
Console.WriteLine($"2. dairenin çevresi: {daire2.CevreHesapla()}");
Console.WriteLine($"2. dairenin alanı: {daire2.AlanHesapla()}");
KoseliSekilBase koseliSekil1 = new Dikdortgen() // KoseliSekilBase tipindeki değişken Dikdortgen tipindeki objeyi refere ediyor
{
Genislik = 4,
Yukseklik = 3
};
Console.WriteLine("1. dikdörtgenin çevresi: " + koseliSekil1.CevreHesapla());
Console.WriteLine("1. dikdörtgenin alanı: " + koseliSekil1.AlanHesapla());
KoseliSekilBase koseliSekil2 = new Dikucgen() // KoseliSekilBase tipindeki değişken Dikucgen tipindeki objeyi refere ediyor
{
Genislik = 8,
Yukseklik = 6
};
Console.WriteLine("1. diküçgenin çevresi: " + koseliSekil2.CevreHesapla());
Console.WriteLine("1. diküçgenin alanı: " + koseliSekil2.AlanHesapla());
Dikucgen dikucgen = new Dikucgen() // Dikucgen tipindeki değişken Dikucgen tipindeki objeyi refere ediyor
{
Genislik = 12,
Yukseklik = 9
};
Console.WriteLine("2. diküçgenin çevresi: " + dikucgen.CevreHesapla());
Console.WriteLine("2. diküçgenin alanı: " + dikucgen.AlanHesapla());
}
}
}