# Overerving polymorfisme
class Base:
    def __init__(self, naam, soort):
        self.naam = naam
        self.soort = soort
    def omschrijving(self):
        return "# Omschrijving\n\n"
    
class Wezen(Base):
    def __init__(self, naam, soort):
        super().__init__(naam, soort)

    def omschrijving(self):
        titel = super().omschrijving()
        return f"{titel}Dit wezen kan van alles zijn dat leeft.\n"
    
    def __repr__(self):
        return f"Dit object is een Wezen.\nNaam: {self.naam}  Soort: {self.soort}"

class Mens(Wezen):
    def __init__(self, naam, soort):
        super().__init__(naam, soort)

    def omschrijving(self):
        tekst = super().omschrijving()
        return f"{tekst}Het is een mens die op twee benen loopt en niet kan vliegen\n."

    def __repr__(self):
        return f"Dit object is een Mens.\nNaam: {self.naam}  Soort: {self.soort}"
    
mens = Mens("Engelsman", "Man")
wezen = Wezen("Paard", "Dier")
klaas = Mens("Nederlander", "Voetballer")
print(mens)
print(wezen)
#print(f"\n{mens.omschrijving()}")
#print(f"\n{wezen.omschrijving}")
#print("\n\n\n\n\n")
#for pietje in (mens, wezen, klaas):
#    print(pietje.omschrijving())
#print(Wezen("Koe", "Dier").omschrijving())
#print(Wezen("Koe", "Dier"))
