11 Ocak 2013 Cuma

C#' ta Nesneleri Döndürmek

Bir metot sınıf tipleri de dahil olmak üzere herhangi tipten verileri döndürebilir. Örneğin Dikdortgen sınıfının aşağıdaki versiyonu genislet() adında bir metot içermektedir. genislet(), kendisini çağıran dikdörtgenle aynı orantıya sahip, fakat belirli bir faktör oranında daha büyük bir dikdörtgen oluşturur.


class Dikdortgen
    {
        int genislik;
        int yukseklik;
        public Dikdortgen(int g, int y)
        {
            genislik = g;
            yukseklik = y;
        }
        public int alan()
        {
            return genislik * yukseklik;
        }
        public void goster()
        {
            Console.WriteLine(genislik + " " + yukseklik);
        }
        //genislet metodu, metodu çağıran dikdörtgenden 
        //belirtilen oranda daha büyük bir dikdörtgen döndürür.
        public Dikdortgen genislet(int factor)
        {
            return new Dikdortgen(genislik * factor, yukseklik * factor);
        }
    }

    class RectObje
    {
        public static void Main()
        {
            Dikdortgen r1 = new Dikdortgen(4, 5);
            Console.WriteLine("r1 in ölçüsü: ");
            r1.goster();

            Console.WriteLine("r1 in alanı :" +r1.alan());
            Console.WriteLine();

            Dikdortgen r2 = r1.genislet(2);
            r2.goster();
            Console.WriteLine("r2 nin alanı :" +r2.alan());
            Console.ReadLine();

        }
    }

Bu durumda çıktı aşağıdaki gibi olur:

r1' in ölçüsü : 4 5
r1' in alanı : 20

r2' nin ölçüsü : 8 10
r2' nin alanı : 80

0 yorum:

Yorum Gönder