private static void Main(string[] args) { Dikdortgen dikdortgen = new Dikdortgen(); Console.WriteLine("dikdörtgen: {0}", dikdortgen.AlanHesapla(5, 10)); Kare kare = new Kare(); Console.WriteLine("kare: {0}", kare.AlanHesapla(5, 10)); Kup kup = new Kup(); Console.WriteLine("Kup: {0}", kup.AlanHesapla(5, 10, 5)); Console.ReadLine(); }
private void Form1_Load(object sender, EventArgs e) { //object initializer--> dikdortgen orneginde space e basınca yazman gerekeni gösteriyor tüm property leri //sırayla listeliyor // hiyerarşi olarak constructordan sonra çalışır Kare kare = new Kare(); kare.X = 10; MessageBox.Show($"karenin alanı: {kare.AlanHesapla()}"); Dikdortgen dikdortgen = new Dikdortgen() { X = 5, Y = 12 }; MessageBox.Show($"dikdortgenin kosegeni: {dikdortgen.KosegenHesapla()}"); sekiller.Add(kare); sekiller.Add(dikdortgen); // polymorphism // bir nesne üzerinden bir sürü nesneyi toplayabildik // birden fazla farklı şeklin kalıtımla ortak classında tutulabilmesini sağlar. // kareye özel bir metod olsaydı if yazıp is demek zorundaydık ! // SOLID prensipleri Sekil dikdortgen2 = new Dikdortgen() { X = 3, Y = 4 }; Sekil kare2 = new Kare() { X = 5 }; foreach (Sekil sekil in sekiller) { //if (sekil is Kare kk) //{ // MessageBox.Show($"şekil alanı: {kk.AlanHesapla()}"); //} //else if (sekil is Dikdortgen dd) //{ // MessageBox.Show($"şekil alanı: {dd.AlanHesapla()}"); //} MessageBox.Show($"seklin alanı: {sekil.AlanHesapla()}"); } }
private static void KareHesapla(Kare kare, string alanVeyaCevre) { Console.WriteLine("Alan Hesaplama için 'a' Çevre Hesaplama için 'ç' giriniz."); alanVeyaCevre = Console.ReadLine(); if (alanVeyaCevre == "a") { Console.WriteLine(kare.AlanHesapla()); } else if (alanVeyaCevre == "ç") { Console.WriteLine(kare.CevreHesapla()); } else { Console.WriteLine("Lütfen geçerli bir değer giriniz."); KareHesapla(kare, alanVeyaCevre); } }
// Classlar defaulta internal oldugu icin buradan farklı namespace e sahip Geometri.Lib in icindeki hiç bir nesneye erisemem. Ancak o classı ve ondan kalıtım alan classları public yaparsam erisebilirim private void Form1_Load(object sender, EventArgs e) { Kare kare = new Kare(); // Sadece kare classını public yapmam yeterli gelmez. cunkü ilk olarak sekil classına gider bu nedenle onu da public yapmalıyım. kare.X = 5; Dikdortgen dikdortgen = new Dikdortgen(); dikdortgen.X = 3; dikdortgen.Y = 4; Dikucgen ucgen = new Dikucgen(); ucgen.X = 5; ucgen.Y = 12; MessageBox.Show($"Karenin alanı: {kare.AlanHesapla()}"); MessageBox.Show($"Dikdortgen alanı: {dikdortgen.AlanHesapla()}"); MessageBox.Show($"Karenin alanı: {ucgen.AlanHesapla()}"); //Sekil sekil = new Sekil(); // Bir sınıfı abstract yaparsak ondan instance alınmasını engellemis oluruz. abstract classlardaki nesneler kalıtımla aktarılır. //sekil.X = 10; //MessageBox.Show($"Sekil alan: {sekil.AlanHesapla()}"); }
private void button3_Click(object sender, EventArgs e) { _kare.UzunKenar = Convert.ToDouble(numericUpDown2.Value); label3.Text = "Alan: " + Math.Round(_kare.AlanHesapla(), 2); }
private void bAlan_Click(object sender, EventArgs e) { if (CBEU.Checked) { if (String.IsNullOrEmpty(tbTabanKenar.Text)) { rtbSonuc.Text = "Lütfen uzunluk değerlerini eksiksiz giriniz!"; } else { IUcgen U1 = new EşkenarUcgen(); U1.TabanKenar = Double.Parse(tbTabanKenar.Text); rtbSonuc.Text = U1.AlanHesapla().ToString(); } } else if (cbDU.Checked) { if (String.IsNullOrEmpty(tbDUtaban.Text) || String.IsNullOrEmpty(tbYukseklik.Text)) { rtbSonuc.Text = "Lütfen uzunluk değerlerini eksiksiz giriniz!"; } else { DikUcgen U2 = new DikUcgen(); U2.TabanKenar = Double.Parse(tbDUtaban.Text); U2.Yükseklik = Double.Parse(tbYukseklik.Text); rtbSonuc.Text = U2.AlanHesapla().ToString(); } } else if (cbDikdörtgen.Checked) { Dikdörtgen A1 = new Dikdörtgen(); if (String.IsNullOrEmpty(tbUzunKenar.Text) || String.IsNullOrEmpty(tbKısaKenar.Text)) { rtbSonuc.Text = "Lütfen uzunluk değerlerini eksiksiz giriniz!"; } else { A1.Kısakenar = Double.Parse(tbKısaKenar.Text); A1.Uzunkenar = Double.Parse(tbUzunKenar.Text); rtbSonuc.Text = A1.AlanHesapla().ToString(); } } else if (cbKare.Checked) { Kare K1 = new Kare(); if (String.IsNullOrEmpty(tbUzunKenarK.Text)) { rtbSonuc.Text = "Lütfen uzunluk değerlerini eksiksiz giriniz!"; } else { K1.Uzunkenar = Double.Parse(tbUzunKenarK.Text); rtbSonuc.Text = K1.AlanHesapla().ToString(); } } else if (cbDaire.Checked) { if (String.IsNullOrEmpty(tbYarıcap.Text)) { rtbSonuc.Text = "Lütfen uzunluk değerlerini eksiksiz giriniz!"; } else { Daire D1 = new Daire(); D1.YarıCap = Double.Parse(tbYarıcap.Text); rtbSonuc.Text = D1.AlanHesapla().ToString(); } } else { rtbSonuc.Text = "Lütfen bir şekil seçiniz!"; } }
private void bAlanHesapla_Click(object sender, EventArgs e) { lSonuc.Text = ""; //double sayi; if (gbUcgen.Visible && rbEskenarUcgen.Checked && tbDik1.Text == "") { MessageBox.Show("Lütfen boş giriş yapmayınız!", "HATA!", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); return; } if (gbUcgen.Visible && rbDikUcgen.Checked && (tbDik1.Text == "" || tbDik2.Text == "")) { MessageBox.Show("Lütfen boş giriş yapmayınız!", "HATA!", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); return; } if (gbKareDikdortgen.Visible && rbKare.Checked && tbKısaKenar.Text == "") { MessageBox.Show("Lütfen boş giriş yapmayınız!", "HATA!", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); return; } if (gbKareDikdortgen.Visible && rbDikdortgen.Checked && (tbUzunKenar.Text == "" || tbKısaKenar.Text == "")) { MessageBox.Show("Lütfen boş giriş yapmayınız!", "HATA!", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); return; } if (gbDaire.Visible && tbYariCap.Text == "") { MessageBox.Show("Lütfen boş giriş yapmayınız!", "HATA!", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); return; } //if (!double.TryParse(tbKısaKenar.Text.Trim(), out sayi)) //{ // MessageBox.Show("Lütfen karakter girmeyiniz!", "UYARI!", // MessageBoxButtons.OK, MessageBoxIcon.Warning); // return; //} if (rbKare.Checked == true) { Kare kare = new Kare() { TemelUzunluk = Convert.ToDouble(tbKısaKenar.Text) }; lSonuc.Text += "Karenin Alanı: " + kare.AlanHesapla() + "-Çevresi: " + kare.CevreHesapla() + "\r\n"; } if (rbDikdortgen.Checked == true) { Dikdortgen dikdortgen = new Dikdortgen() { TemelUzunluk = Convert.ToDouble(tbKısaKenar.Text), Yukseklik = Convert.ToDouble(tbUzunKenar.Text) }; lSonuc.Text += "Dikdörtgenin Alanı: " + dikdortgen.AlanHesapla() + "-Çevresi: " + dikdortgen.CevreHesapla() + "\r\n"; } if (rbEskenarUcgen.Checked == true) { EskenarUcgen eskenarUcgen = new EskenarUcgen() { TemelUzunluk = Convert.ToDouble(tbDik1.Text) }; lSonuc.Text += "Eşkenar Üçgenin Alanı: " + eskenarUcgen.AlanHesapla() + "-Çevresi: " + eskenarUcgen.CevreHesapla() + "\r\n"; } if (rbDikUcgen.Checked == true) { DikUcgen dikUcgen = new DikUcgen() { TemelUzunluk = Convert.ToDouble(tbDik1.Text), Yukseklik = Convert.ToDouble(tbDik2.Text) }; lSonuc.Text += "Dik Üçgenin Alanı: " + dikUcgen.AlanHesapla() + "-Çevresi: " + dikUcgen.CevreHesapla() + "\r\n"; } if (rbDaire.Checked == true) { Daire daire = new Daire() { TemelUzunluk = Convert.ToDouble(tbYariCap.Text) }; lSonuc.Text += "Dairenin Alanı: " + daire.AlanHesapla() + "-Çevresi: " + daire.CevreHesapla() + "\r\n"; } }