C# ile Metod ve Property Örneği

  1. Dikdörtgenin genişlik ve yükseklik bilgilerini tutmak üzere genislik ve yukseklik adında iki adet sınıfa özel tamsayı alan (değişken) tanımlayınız.
  2. genislik ve yukseklik alanlarına erişimi ve girilen değerlerin kontrolünü (genislik ve yükseklik negatif değer alamaz. Negatif değer girildiğinde MUTLAK değerini alarak pozitif hale getiriniz.) sağlamak üzere Genislik ve Yukseklik adında iki adet özellik (property) tanımlayınız.
  3. Parametresiz bir yapıcı metod tanımlayınız. (Yukseklik ve Genislik sıfır değerini almalıdır.)
  4. İki tamsayı parametre alan bir yapıcı metod tanımlayınız. (parametrelerden gelen değerleri Genislik ve Yükseklik değerlerine atayınız)
  5. Başka bir Dikdortgen nesnesinden yeni bir Dikdortgen nesnesi oluşturmak üzere bir yapıcı metod tanımlayınız.
  6. Dikdörtgenin alanını döndüren Alan isminde bir PROPERTY tanımlayınız.
  7. Dikdörtgenin çevresini döndüren Cevre isminde bir PROPERTY tanımlayınız.
  8. Dikdörtgenin köşegenini döndüren Kosegen isminde bir METOD tanımlayınız.
  9. Dikdörtgenin Genislik ve Yukseklik değerini * kullanarak konsol ekranında dikdörtgen çizen Ciz isminde metod tanımlayınız.
using System;
namespace DikdortgenMetod
{
    class Program
    {
        static void Main(string[] args)
        {
            Dikdortgen d = new Dikdortgen();
            d.Genislik = -10;
            d.Yukseklik = -10;
            Console.WriteLine("Genişlik:{0}", d.Genislik);
            Console.WriteLine("Yükseklik:{0}", d.Yukseklik);

            Console.WriteLine("Çevre:{0}", d.Cevre());
            Console.WriteLine("Alan:{0}", d.Alan());
            Console.WriteLine("Köşegen:{0}", d.Kosegen());
            d.Ciz();

            Console.ReadKey();

        }

        public class Dikdortgen {
            private int genislik;
            private int yukseklik;
            public Dikdortgen()
            {
                Console.WriteLine("Dikdörtgen Nesnesi oluşturuldu");
                Genislik = 0;
                Yukseklik = 0;

            }
            public Dikdortgen(int Gen,int Yuk)
            {
                Genislik = Gen;
                Yukseklik = Yuk;

            }
             public int Alan {get{return Genislik * Yukseklik;}}
            public int Cevre{ get { return (2 * Genislik) + (2 * Yukseklik); } }
            public double Kosegen(){return Math.Sqrt((Genislik ^ 2) + (Yukseklik ^ 2));}
            public void Ciz()
            {
                for (int i = 0; i < Genislik; i++)
                {
                    Console.Write("*");
                }
                Console.Write("\n");
                for (int w = 0; w < Yukseklik-2; w++)
                {
                    Console.WriteLine("*" + BoslukKarakteri(Genislik - 2) + "*");
                }
                for (int i = 0; i < Genislik; i++)
                {
                    Console.Write("*");
                }

            }
            private string BoslukKarakteri(int sayi)
            {
                string retVal = "";
                for (int i = 0; i < sayi; i++)
                {
                    retVal = retVal + " ";
                }
                return retVal;
            }
              public int Genislik
            {
                get { return genislik; }
                set { genislik =Math.Abs(value); }
            }
            public int Yukseklik
            {
                get { return yukseklik; }
                set{yukseklik =Math.Abs(value); }
            }
        }
    }
}