Abstract Class konusunu anlamayı kolaylaştıracağını düşündüğüm bir örnek:
using System;
using System.Linq;
using System.Collections.Generic;
public abstract class selam
{
public abstract string selamm();
}
public class Turk : selam
{
public override string selamm()
{
return "Selamün Aleyküm";
}
}
public class English : selam
{
public override string selamm()
{
return "Hello";
}
}
public class German : selam
{
public override string selamm()
{
return "Hallo";
}
}
public class Cek : selam
{
public override string selamm()
{
return "Ahoj";
}
}
public class Bosnak : selam
{
public override string selamm()
{
return "zdravo";
}
}
public class Letonya : selam
{
public override string selamm()
{
return "Sveiki";
}
}
public class don
{
public string geridon(selam sl)
{
return sl.selamm();
}
}
public class Program
{
public static void Main()
{
don dn= new don();
Turk tr= new Turk();
English eng = new English();
German ger = new German();
Cek ck= new Cek();
Bosnak bsn= new Bosnak();
Letonya lty = new Letonya();
string Selamlama="";
Console.WriteLine("Türk: 1");
Console.WriteLine("İngiliz: 2");
Console.WriteLine("Alman: 3");
Console.WriteLine("Çek: 4");
Console.WriteLine("Boşnak: 5");
Console.WriteLine("Letonyalı: 6");
Console.WriteLine();
Console.WriteLine();
Console.Write("Uyruğunuz: ");
Console.WriteLine();
int secim=int.Parse(Console.ReadLine());
switch (secim)
{
case 1:
Selamlama=dn.geridon(tr);
break;
case 2:
Selamlama=dn.geridon(eng);
break;
case 3:
Selamlama=dn.geridon(ger);
break;
case 4:
Selamlama=dn.geridon(ck);
break;
case 5:
Selamlama=dn.geridon(bsn);
break;
case 6:
Selamlama=dn.geridon(lty);
break;
}
Console.Write(Selamlama);
Console.ReadKey();
}
}