Mam trzy klasy:
class osoba
{
// atrybuty
virtual public void pracuj ()
{
//kod
}
}
class dyrektor
{
//atrybuty
override public pracuj()
{
//kod
}
}
class pracownik
{
//atrybuty
override public pracuj()
public void zamiataj()
{
// kod
}
}
Tworzę sobie listę zdefiniowaną typem Osoba, List<Osoba> osoba = new List<Osoba>();
dodaj osoby itd, pytanie jak mam wypisać w pętli np foreach metode pracownika zamiataj ? Teoretycznie można w klasie osoba zdefiniować tę metodę jako virtualną a w klasie pracownik nadpisać ,ale to nie tak powinno chyba działać? Przecież klasa z któej się dziedziczy nie powinna zawierać wszystkich możliwych metod każdej podklasy?