# Duck Typing - Test im interaktiven Modus

# simple (attributlose) Klasse X definieren
class X: pass

# 2 Instanzen von X erzeugen
x = X()
y = X()

# Zugriff auf nicht vorhandene Member-Funktion wirft eine Ausnahme:
#
#   AttributeError: 'X' object has no attribute 'hello'
#   ...
x.hello()
y.hello()
x.bye()
y.bye()

# Member-Funktion hello() der Instanz x anlegen
x.hello = lambda: print('hello')

# Aufruf funktioniert nun bei x, nicht aber bei y
x.hello()
y.hello()

# Member-Funktion bye() in der Klasse X anlegen; diese ist für alle Instanzen
# verfügbar
X.bye = lambda self: print('bye')
x.bye()
y.bye()
