Was bedeutet _Duckmäusertippen_ in der Softwareentwicklung bedeuten?
Antworten
Zu viele Anzeigen?Duck Typing:
let anAnimal
if (some condition)
anAnimal = getHorse()
else
anAnimal = getDog()
anAnimal.walk()
Der obige Funktionsaufruf funktioniert nicht bei der Strukturtypisierung
Für die Strukturtypisierung gilt Folgendes:
IAnimal anAnimal
if (some condition)
anAnimal = getHorse()
else
anAnimal = getDog()
anAnimal.walk()
Das ist alles, viele von uns wissen bereits intuitiv, dass Ente tippen ist.
Ich versuche, den berühmten Satz auf meine Art zu verstehen: "Python kümmert es nicht, ob ein Objekt eine echte Ente ist oder nicht. Alles, was es interessiert, ist, ob das Objekt, erstens 'quaken', zweitens 'wie eine Ente'."
Es gibt eine gute Website. http://www.voidspace.org.uk/python/articles/duck_typing.shtml#id14
Der Autor wies darauf hin, dass Sie mit der Duck-Typisierung Ihre eigenen Klassen erstellen können, die über ihre eigene interne Datenstruktur haben - auf die aber mit der normalen Python-Syntax zugegriffen wird.
- See previous answers
- Weitere Antworten anzeigen