Osebam s predavanja dodaj metodo koliko_star, s katero jih vprašamo, koliko so stare. Običajno metoda pri moških vrne starost, pri ženskah pa nič (None), ker to vprašanje menda ni spodobno. Obstajata pa dve izjemi:

  • pri brucih tudi ženske povedo, koliko so stare, in
  • upokojenci vedno rečejo, da so stari 65.

Dodaj le toliko metod, kolikor jih potrebuješ.

Rešitev

Metodo je potrebno dodati razredom Oseba, Bruc in Upokojenec.

class Oseba:
    ...

    def koliko_star(self):
        if self.spol == "M":
            return self.starost

class Student(Oseba):
    ...

class Bruc(Student):
    def koliko_star(self):
        return self.starost


class Ucitelj(Oseba):
    ...


class Upokojenec(Oseba):
    ...

    def koliko_star(self):
        return 65


class Cistilka(Oseba):
    ...

Sledimo navodilom naloge. Razred Oseba dobi metodo, ki za moške vrne starost, za ženske pa nič. Nato pa naloga določi posebno vedenje te metode za razreda Bruc in Upokojenec, torej jo spremenimo le zanju. Pri prvih vedno vrnemo starost, ne glede na spol, pri drugih pa vedno vrnemo 65.

Utolsó módosítás: 2017. december 23., szombat, 23:17