using System;
namespace abstrakcja
{
public class Program
{
abstract public class Ssak
{
public int Wiek { set; get; }
public int Waga { set; get; }
abstract public void dajGlos();
}
public class Pies : Ssak
{
public Pies() { }
public Pies(int wa, int wi)
{
Waga = wa; Wiek = wi;
}
override public void dajGlos()
{
Console.WriteLine("Hau hau!!!");
}
}
public class Kot : Ssak
{
public Kot() { }
public Kot(int wa, int wi)
{
Waga = wa; Wiek = wi;
}
override public void dajGlos()
{
Console.WriteLine("Miau Miau!");
}
public class Kon : Ssak
{
public Kon() { }
public Kon(int wa, int wi)
{
Waga = wa; Wiek = wi;
}
override public void dajGlos()
{
Console.WriteLine("Ichacha ichacha!");
}
}
public class Swinia : Ssak
{
public Swinia() { }
public Swinia(int wa, int wi)
{
Waga = wa; Wiek = wi;
}
override public void dajGlos()
{
Console.WriteLine("Chrrr Chrrr");
}
}
public static void Main()
{
Ssak[] t = new Ssak[5];
Console.WriteLine("\nCo chcesz stworzyc \nl\tpies\t2\tkot\t3\tkon\t4\tswinie\t5\tssak");
for (int i = 0; i < 5; i++)
{
int co = (int)Console.ReadKey(true).KeyChar;
//Console.WriteLine(co);
switch (co)
{
case '2':
Kot b = new Kot(2, 8);
t[i] = b;
break;
case '3':
Kon c = new Kon(2, 8);
t[i] = c;
break;
case '4':
Swinia d = new Swinia(2, 8);
t[i] = d;
break;
case '1':
default:
Pies a = new Pies(3, 5);
t[i] = a;
break;
}
}
Console.WriteLine();
foreach (Ssak a in t)
a.dajGlos();
}
}
}
}