class Program
{
static void Main(string[] args)
{
AMevzuat amevzuat = new AMevzuat();
amevzuat.Degerlendir();
amevzuat.Yazdir();
Console.ReadLine();
}
}
public abstract class MevzuatBase
{
public abstract void Degerlendir(); // Bu operasyonu kim kullanıyorsa beni alsın ve metod içeriğinin işleyişini kendine göre oluştursun ben sadece bir yapıyım
public virtual void Yazdir()
{
Console.WriteLine("Ortak yaıdır istersen alt classlarda ezebilirsin "); // bunu referans alanlar kullanabilir.
}
}
class AMevzuat : MevzuatBase
{
public override void Degerlendir()
{
Console.WriteLine("A Mevzuatı Değerlendirildi");
}
public override void Yazdir()
{
Console.WriteLine("Bunu Ezdik :) ");
}
}
class BMevzuat : MevzuatBase
{
public override void Degerlendir()
{
Console.WriteLine("B Mevzuatı Değerlendirildi");
}
}
Virtual Metodlar
Abstract claslarda tamamlanmış ve tamamlanmamış operasyonlar vardı. Tamamlanmış operasyonlarda referasn alan class ta ufak değişiklikler gerekli olabilir bu yüzden virtual anahtar kelimesi kullanılır. Abstarrc taradfında yaptığımız örneği virtuala çevirirsek override ederek referans alan class ta ezilebileceğini göreceğiz.
Kaydol:
Kayıtlar (Atom)
Hiç yorum yok:
Yorum Gönder