Zusammenfassung
Wir haben uns in dem Kapitel angesehen, wie man in Python objektorientiert programmiert. Python hat diverse Dinge bei der objektorientierten Programmierung vereinfacht, was aber den Preis hat, dass für erfahrene OO-Programmierer aus anderen Sprachen viele Stolperfallen vorhanden sind. Sie sollten sich auch im Klaren sein, dass in Python im Hintergrund immer ein objektorientierter Ansatz abläuft – auch wenn Sie selbst funktional programmieren.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
C/C++ war zwar zu der Zeit auch schon sehr populär, aber eine hybride Sprache, in der man sowohl objektorientiert, als auch funktional programmieren konnte. Und oft wurde in C/C++-Projekten nicht wirklich objektorientiert programmiert – was ich aus eigener Erfahrung weiß.
- 2.
Die historisch erste Generation der Programmierung mit Maschinensprache und die zweite Generation mit Assembler sollen hier nicht beachtet werden, sondern nur die höheren Programmiersprachen.
- 3.
Darauf gehen wir natürlich noch ein.
- 4.
Sogenannte Entwurfsmuster können die Anzahl der möglichen Instanzen reglementieren, aber das soll hier außer Acht bleiben.
- 5.
Eine andere Notation finden Sie zum Beispiel in PHP.
- 6.
Wenngleich auch hier mit einer speziellen Syntax.
- 7.
Wenngleich es da explizit nicht empfohlen wird und der Compiler eine Warnung anzeigt.
- 8.
Also die analoge Situation wie bei Klasseneigenschaften.
- 9.
Annotation bedeutet „Anmerkung“, „Beifügung“ oder „Hinzufügung“ und wird in Python als Kommentar verstanden, den der Interpreter ignoriert.
- 10.
Der Autor zählt sich ausdrücklich nicht dazu – mir sind Getter und Setter bedeutend lieber und ich finde diese besser lesbar und aussagekräftiger.
- 11.
Etwa Meldungen anzeigen oder Dinge protokollieren.
- 12.
Eigentlich besser mit „überdefinieren“ übersetzt.
- 13.
Also streng typisierten Sprachen.
- 14.
Python erlaubt es etwa in eigenen Klassen, dem +-Operator eine eigene Bedeutung zu geben, indem die Methode __add__ redefiniert wird. Für den Operator – würde etwa __sub__ redefiniert. Aber meines Erachtens ist so eine Überladung hochgefährlich und schlecht lesbar und wartbar. Ich rate davon ab.
- 15.
Das zeigt schon, dass abstrakte Klassen nicht so natürlich in das Kernkonzept von Python eingebaut wurden, wie es in Java oder C# der Fall ist.
- 16.
Methoden ohne Implementierung.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature
About this chapter
Cite this chapter
Steyer, R. (2018). Objektorientierte Programmierung in Python – Klassen, Objekte, Eigenschaften und Methoden. In: Programmierung in Python . Springer Vieweg, Wiesbaden. https://doi.org/10.1007/978-3-658-20705-2_11
Download citation
DOI: https://doi.org/10.1007/978-3-658-20705-2_11
Published:
Publisher Name: Springer Vieweg, Wiesbaden
Print ISBN: 978-3-658-20704-5
Online ISBN: 978-3-658-20705-2
eBook Packages: Computer Science and Engineering (German Language)