using System;
namespace Polymorphism
{
/*
Polymorphism(Çok biçimlilik) demek bir x Değişkeninin x altclassına da referans olabilmesi demektir.
* Bu metodda dikkat edersek Varlik clasımız iki farklı class için bir tabandır.
* Yani mal clasımız Stock classının alt classıdır diyebiliriz.
*/
public class Varlik
{
public string Ad;
}
public class Stock : Varlik
{
public long Hisse;
}
public class House : Varlik
{
public decimal Degeri;
}
class Program
{
//Burada tanımlanan metodumuz dikkat ederseniz Varlik clası için yazılmıştır.
public static void Display(Varlik asset)
{
System.Console.WriteLine(asset.Ad);
}
static void Main(string[] args)
{
Stock msft = new Stock { Ad = "MSFT", Hisse = 1000 };
House mansion = new House { Ad = "Mansion", Degeri = 25000 };
//Dikkat ederseniz burada Varlik classı için kullanmadık.
//Çünkü polymorphism özelliğinde dolayı
//Fonksiyonumuzun tanımına uyan bir alt classı kullanabiliriz.
Display(msft);
Display(mansion);
Console.ReadKey();
}
}
}