Dědičnost tříd v objektově orientovaných programech

Koncepty programovacích paradigmat

Eleanor Thomas

Senior Data Analytics Engineer

Dědičnost tříd v objektově orientovaném programování

  • Dědičnost tříd: třída „dědí" metody a atributy od jiné, nadřazené třídy
  • Příklad:
    • Třída Poodle dědí od třídy Dog (a má kudrnaté srst)
    • Třída Dog dědí od třídy Pet (a „štěká")
    • Třída Pet dědí od třídy Animal
  • Počet vrstev dědičnosti není omezen, ale více není vždy lepší

Skupina mazlíčků

Koncepty programovacích paradigmat

Příklad dědičnosti tříd

class Dog():
    def __init__(self, name):
        self.name = name
    def bark(self):
        print("Arf!")

lacy = Dog("Lacy")
lacy.bark()
class Pet():
    def __init__(self, name):
        self.name = name

class Dog(Pet): def bark(self): print("Arf!")
lacy = Dog("Lacy") lacy.bark()
Koncepty programovacích paradigmat

Příklad dědičnosti tříd – pokračování

class Cat(Pet):
    def meow(self):
        print("Meow!")

class Horse(Pet): def neigh(self): print("Neigh!")
fluffy = Cat("Fluffy")
fluffy.meow()
Meow!
midnight = Horse("Midnight")
midnight.neigh()
Neigh!

Všechny následující příkazy způsobí chybu!

fluffy.neigh()
fluffy.bark()
midnight.meow()
Koncepty programovacích paradigmat

Pojďme si procvičit!

Koncepty programovacích paradigmat

Preparing Video For Download...