diff --git a/src/tutorial/class/animal.py b/src/tutorial/class/animal.py new file mode 100644 index 0000000..77a7406 --- /dev/null +++ b/src/tutorial/class/animal.py @@ -0,0 +1,32 @@ +from abc import ABC, abstractmethod + + +class Animal(ABC): + @abstractmethod + def speak(slef) -> str: + return "..." + + def chorus(self, n: int) -> str: + # Wiederhole den Laut n-mal als eine Zeile" + if n <= 0: + raise ValueError("n muss positiv sein") + return " ".join(self.speak() for _ in range(n)) + + +class Dog(Animal): + def speak(self) -> str: + return "wuff" + + +class Cat(Animal): + def speak(self) -> str: + return "miau" + + +class Cow(Animal): + def speak(self) -> str: + return "muh" + + +cow = Cow() +print(cow.chorus(3))