using System; class dikdortgen { private int en; public int En { get { return en; } set { en = value; } } private int boy; public int Boy { get { return boy; } set { boy = value; } } public void Alan(int En,int Boy) { Console.WriteLine(En * Boy); } public virtual void Yaz()//Bu metodu sanallaştırdık //Aşağıda da aynı isimle metot kullanıcaz çünkü { Console.WriteLine("dikdortgen sınıfı"); } public void Yaz2() { Console.WriteLine("dikdortgen sınıfı"); } } class Program : dikdortgen { public override void Yaz()//yukarıda virtual yazdığımız metodu //override ederek burayı çalıştırıyoruz { Console.WriteLine("program sınıfı"); } public new void Yaz2() //new(metot gizleme aynı isimde diğer //classtada metot var) { Console.WriteLine("program sınıfı"); } static void Main() { Program p = new Program(); p.Yaz(); //program classındaki Yaz çalışır //override ettik çünkü diğerinide sanallaştırmıştık p.Yaz2(); //Yine program classındaki Yaz2 çalışır p.Alan(5, 6); ((dikdortgen)p).Yaz2(); //Diğer classtaki yaz2 ye erişmek istiyorsakta //bu şekilde erişiyoruz } }