Mam jeden problem, nie wiem co zrobić aby wywołać w pętli foreach metody "graj", aby każda odpowiadała dobremu obiektowi.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Kolokwium___zadanie_2
{
class Program
{
static void Main(string[] args)
{
List<Gracz> lista = new List<Gracz>();
Gracz gracz = new Gracz();
Skrzypek skrzypek = new Skrzypek();
Hokeista hokeista = new Hokeista();
E_sportowiec e_sportowiec = new E_sportowiec();
gracz.imię = "Robert";
skrzypek.imię = "Adam";
hokeista.imię = "Piotr";
e_sportowiec.imię = "Michał";
lista.Add(gracz);
lista.Add(skrzypek);
lista.Add(hokeista);
lista.Add(e_sportowiec);
foreach (var item in lista)
{
Console.WriteLine(item.imię);
item.graj();
}
Console.ReadKey();
}
class Gracz
{
public string imię;
public string nazwisko;
public int zarobki;
public void graj()
{
Console.WriteLine("Gracz gra w grę");
}
}
class E_sportowiec : Gracz
{
new public void graj()
{
Console.WriteLine("Gracz gra w grę komputerową");
}
}
class Hokeista : Gracz
{
public void graj()
{
Console.WriteLine("Gracz gra w hokeja");
}
}
class Skrzypek : Gracz
{
public void graj()
{
Console.WriteLine("Gracz gra na skrzypcach");
}
}
}
}