public class Ulke
{
public int nufus;
public int yuzolcumu;
public string komsular;
public void Denizler() { }
}
public class Sehir:Ulke
{
//Inheritance ornegi
public int ilcesayisi;
public int otobussayisi;
}
class Program
{
static void Main(string[] args)
{
Ulke Turkiye = new Ulke(); // Ulke turunde bir class olan Turkiye'yi construct etmis olalim
Turkiye.komsular = "Suriye"; // Komsular field ini tanimla
Turkiye.yuzolcumu = 783; // yuzolcumu field ini tanimla
Turkiye.nufus = 74; // nufus fieldini tanimla
Sehir Istanbul = new Sehir(); // Sehir turunde bir class olan Turkiye'yi construct etmis olalim
Istanbul.nufus = 15; // Istanbul'un nufus fieldini tanimla
Istanbul.komsular = "Yalova";
Istanbul.ilcesayisi = 23; // Istanbul'un ilcesayisi field'ini tanimla
//Polymorphism ornegi
Ulke Karadeniz = Istanbul;
// Karadeniz objesi Ulke turunde bir nesne ancak
// Poly-morph ederek Istanbul'a ait ancak Ulkeden inherit edilmis fieldlari
// Karadeniz inherit ediyor
// Yani her ne kadar Karadeniz Sehirin ust classi olan Ulke classinda bir object de olsa
// Sehir classinin bir nesnesi olan Istanbulun field larini almis oluyor
Console.WriteLine(Karadeniz.nufus); // Istanbulun nufusu
Console.WriteLine(Karadeniz.komsular); // Istanbulun komsulari
//Console.WriteLine(Karadeniz.ilcesayisi) Istanbulun ilce sayisi tanimli oldugu halde Karadeniz Ulke
// class'ina ait oldugundan dolayi ilcesayisi field'i olamaz.
Console.ReadKey();
//Ozetle polymorphism yeni yaratilan bir nesnenin, kendisinden once tanimlanmis
//bir nesneden field lar alabilmesi ancak bu (field larin kopyalandigi) nesne ile
//farkli siniflarda olabilmesidir.
}
}
{
public int nufus;
public int yuzolcumu;
public string komsular;
public void Denizler() { }
}
public class Sehir:Ulke
{
//Inheritance ornegi
public int ilcesayisi;
public int otobussayisi;
}
class Program
{
static void Main(string[] args)
{
Ulke Turkiye = new Ulke(); // Ulke turunde bir class olan Turkiye'yi construct etmis olalim
Turkiye.komsular = "Suriye"; // Komsular field ini tanimla
Turkiye.yuzolcumu = 783; // yuzolcumu field ini tanimla
Turkiye.nufus = 74; // nufus fieldini tanimla
Sehir Istanbul = new Sehir(); // Sehir turunde bir class olan Turkiye'yi construct etmis olalim
Istanbul.nufus = 15; // Istanbul'un nufus fieldini tanimla
Istanbul.komsular = "Yalova";
Istanbul.ilcesayisi = 23; // Istanbul'un ilcesayisi field'ini tanimla
//Polymorphism ornegi
Ulke Karadeniz = Istanbul;
// Karadeniz objesi Ulke turunde bir nesne ancak
// Poly-morph ederek Istanbul'a ait ancak Ulkeden inherit edilmis fieldlari
// Karadeniz inherit ediyor
// Yani her ne kadar Karadeniz Sehirin ust classi olan Ulke classinda bir object de olsa
// Sehir classinin bir nesnesi olan Istanbulun field larini almis oluyor
Console.WriteLine(Karadeniz.nufus); // Istanbulun nufusu
Console.WriteLine(Karadeniz.komsular); // Istanbulun komsulari
//Console.WriteLine(Karadeniz.ilcesayisi) Istanbulun ilce sayisi tanimli oldugu halde Karadeniz Ulke
// class'ina ait oldugundan dolayi ilcesayisi field'i olamaz.
Console.ReadKey();
//Ozetle polymorphism yeni yaratilan bir nesnenin, kendisinden once tanimlanmis
//bir nesneden field lar alabilmesi ancak bu (field larin kopyalandigi) nesne ile
//farkli siniflarda olabilmesidir.
}
}