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.