# staticchecking/NoBasePetSpeak.py # (c)2021 MindView LLC: see Copyright.txt # We make no guarantees that this code is fit for any purpose. # Visit http://OnJava8.com for more book information. #- Speaking pets without base classes class Cat: def speak(self): print("meow!") class Dog: def speak(self): print("woof!") class Bob: def bow(self): print("thank you, thank you!") def speak(self): print("Welcome to the neighborhood!") def drive(self): print("beep, beep!") def command(pet): pet.speak() pets = [ Cat(), Dog(), Bob() ] for pet in pets: command(pet) output = """ meow! woof! Welcome to the neighborhood! """