Kapitel 14. Vererbung: Im Guten und im Schlechten

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

[...] wir brauchten eine bessere Theorie über Vererbung (und brauchen sie immer noch). Vererbung und Instanzierung (eine Art von Vererbung) verwirren sowohl die Pragmatik (z. B. das Factoring von Code, um Platz zu sparen) als auch die Semantik (für viel zu viele Aufgaben wie Spezialisierung, Generalisierung, Spezifizierung usw.).

Alan Kay, "Die frühe Geschichte von Smalltalk"1

In diesem Kapitel von geht es um Vererbung und Unterklassenbildung. Ich gehe davon aus, dass du ein grundlegendes Verständnis dieser Konzepte hast, das du vielleicht durch das Lesen des Python-Tutorialsoder durch Erfahrung mit einer anderen objektorientierten Sprache wie Java, C# oder C++ erworben hast. Hier konzentrieren wir uns auf vier Merkmale von Python:

  • Die Funktion super()

  • Die Fallstricke der Unterklassenbildung von eingebauten Typen

  • Mehrfachvererbung und Reihenfolge der Methodenauflösung

  • Mixin-Klassen

Mehrfachvererbung ist die Fähigkeit einer Klasse, mehr als eine Basisklasse zu haben. C++ unterstützt sie, Java und C# nicht. Viele halten Mehrfachvererbung für mehr Aufwand, als sie wert ist. Sie wurde absichtlich aus Java herausgenommen, nachdem sie in frühen C++-Codebasen missbraucht wurde.

In diesem Kapitel wird die Mehrfachvererbung für diejenigen vorgestellt, die sie noch nie verwendet haben, und es ...

Get Fließendes Python, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.