Console.WriteLine("Hello, World!");
IPerson[] personer = new IPerson[] { new Student("Emma"), new KompisKompis("Thomas"), new Granne("Anders") };
IMöbel[] möbler = new IMöbel[] {new Stol ("IKEA"), new Bord ("Moa"), new Bänk("Bauhaus") };
Console.WriteLine(personer + möbler);
Simulera();
void Simulera()
{
foreach (var person in personer)
{
var random = new Random();
switch (random.Next(1, 4))
{
case 1:
person.Dansa();
break;
case 2:
person.GåUtPåBalkongen();
break;
case 3:
person.Prata();
break;
case 4:
person.ÄtChips();
break;
default:
break;
}
}
}
interface IPerson
{
public string Name { get; set; }
void Prata();
void ÄtChips();
void Dansa();
void GåUtPåBalkongen();
}
class Student : IPerson
{
public string Namn { get; set; }
public Student(string namn)
{
Namn = namn;
}
public void Dansa()
{
Console.WriteLine(Namn + " dansar");
}
public void GåUtPåBalkongen()
{
Console.WriteLine(Namn + " går ut på balkongen");
}
public void Prata()
{
Console.WriteLine(Namn + " pratar om film");
}
public void ÄtChips()
{
Console.WriteLine(Namn + " äter chips");
}
}
class KompisKompis : IPerson
{
public string Namn { get; set; }
public KompisKompis(string namn)
{
Namn = namn;
}
public void Dansa()
{
Console.WriteLine(Namn + " dansar");
}
public void GåUtPåBalkongen()
{
Console.WriteLine(Namn + " går ut på balkongen");
}
public void Prata()
{
Console.WriteLine(Namn + " pratar om film");
}
public void ÄtChips()
{
Console.WriteLine(Namn + " äter chips");
}
}
class Granne : IPerson
{
public string Namn { get; set; }
public Granne (string namn)
{
Namn = namn;
}
public void Dansa()
{
Console.WriteLine(Namn + " dansar");
}
public void GåUtPåBalkongen()
{
Console.WriteLine(Namn + " går ut på balkongen");
}
public void Prata()
{
Console.WriteLine(Namn + " pratar om film");
}
public void ÄtChips()
{
Console.WriteLine(Namn + " äter chips");
}
}
interface Imöbel
{
public string Brand { get; set; }
void Färg();
void Design();
void Skick();
}
class Stol : Imöbel
{
public string Brand { get; set; }
public Stol(string brand)
{
Brand = brand;
}
public void Färg()
{
Console.WriteLine(Brand + " blå");
}
public void Design()
{
Console.WriteLine(Brand + " snygg");
}
public void Skick()
{
Console.WriteLine(Brand + " hel");
}
}
class Bord : Imöbel
{
public string Brand { get; set; }
public Bord(string brand)
{
Brand = brand;
}
public void Färg()
{
Console.WriteLine(Brand + " röd");
}
public void Design()
{
Console.WriteLine(Brand + " härlig");
}
public void Skick()
{
Console.WriteLine(Brand + " ren");
}
}
class Bänk : Imöbel
{
public string Brand { get; set; }
public Bänk(string brand)
{
Brand = brand;
}
public void Färg()
{
Console.WriteLine(Brand + " vit");
}
public void Design()
{
Console.WriteLine(Brand + " skön");
}
public void Skick()
{
Console.WriteLine(Brand + " fin");
}
}