Override (C#)

By | January 17, 2012

Override metodu kısaca özetlemek gerekirse; bir tipten elde edilen verilerin tipin farklı bir türevinde farklı şekilde verilebilmesidir, overload ile karıştırmamak gerekir. Farklı farklı kullanımları olmakta birlikte aşağıda msdn kütüphanesinde bulunan bir kod örneğini türkçe’ye çevirerek yazdım.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{

    class Program
    {
        public class Calisan
        {
            public string ad;
            public string soyad;

            protected string tcno;
            protected decimal maas;

            // sınıf yaratıldığında değerleri alan constructor
            public Calisan(string ad, string soyad,string tcno, decimal maas)
            {
                this.ad = ad;
                this.soyad = soyad;
                this.tcno = tcno;
                this.maas = maas;
            }

            public virtual decimal MaasHesapla()
            {
                return maas;
            }
        }

        // Calisan türünden yeni bir sınıf türetiyoruz.
        public class SatisCalisani : Calisan
        {
            // maaşı etkileyecek gelir kaynağı
            private decimal SatisPrimi;

            // Constructor
            public SatisCalisani(string ad, string soyad, string tcno, decimal maas, decimal SatisPrimi)
                : base(ad, soyad, tcno, maas)
            {
                this.SatisPrimi = SatisPrimi;
            }

            // MaasHesapla metodu "override" edilerek satış primi eklenir.
            public override decimal MaasHesapla()
            {
                return maas + SatisPrimi;
            }
        }

        static void Main()
        {
            // Birkaç yeni çalışan oluşturalım.
            SatisCalisani calisan1 = new SatisCalisani("Ali","PEKMEZ","36545865511",1000, 200);
            Calisan calisan2 = new Calisan("Baha", "DÖNMEZ", "54235231562", 900);

            Console.WriteLine("Çalışan 1 " + calisan1.ad +
                      " maaasi: " + calisan1.MaasHesapla());
            Console.WriteLine("Çalışan 2 " + calisan2.ad +
                      " maaasi: " + calisan2.MaasHesapla());
        }

       
    }
}
Category: C#

Leave a Reply

Your email address will not be published. Required fields are marked *