Kapitel 13. Schnittstellen, Protokolle und ABCs
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Programm für eine Schnittstelle, nicht für eine Implementierung.
Gamma, Helm, Johnson, Vlissides, First Principle of Object-Oriented Design1
Bei der objektorientierten Programmierung dreht sich alles um Schnittstellen. Der beste Ansatz, um einen Typ in Python zu verstehen, ist die Kenntnis der Methoden, die er bereitstellt - seine Schnittstelle - wie in "Typen werden durch unterstützte Operationen definiert"(Kapitel 8) beschrieben.
Je nach Programmiersprache haben wir eine oder mehrere Möglichkeiten, Schnittstellen zu definieren und zu verwenden. Seit Python 3.8 haben wir vier Möglichkeiten. Sie sind in derTyping Map(Abbildung 13-1) dargestellt. Wir können sie wie folgt zusammenfassen:
- Ente tippen
-
Pythons Standardansatz zur Typisierung von Anfang an. Wir haben uns seit Kapitel 1 mit der Typisierung von Enten beschäftigt.
- Gans tippen
-
Der Ansatz, der seit Python 2.6 von abstrakten Basisklassen (ABCs) unterstützt wird und sich auf Laufzeitprüfungen von Objekten gegen ABCs stützt. DieGänsetypisierung ist ein wichtiges Thema in diesem Kapitel.
- Statische Typisierung
-
Der traditionelle Ansatz von statisch typisierten Sprachen wie C und Java, der seit Python 3.5 durch das Modul
typing
unterstützt und durch externe Typprüfungen gemäß PEP 484-Type Hints erzwungen wird. Das ist nicht das Thema dieses Kapitels. ...
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.