Was ist objektorientierte Programmierung? (Was ist objektorientierte Programmierung?), FAQ answer, Seite 724541
https://www.purl.org/stefan_ram/pub/objektorientierte_faq_python (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Python-Kurs

Python -FAQ: Was ist objektorientierte Programmierung?

Die objektorientierte Programmierung erleichtert das Hinzufügen neuer Typen  zu einem Programm (während die prozedurale Programmierung das Hinzufügen neuer Prozeduren erleichtert).

Daher ist die objektorientierte Programmierung vorteilhaft, wenn auch eine Weise programmiert werden soll, die viel von Typen Gebrauch macht, bei der also voraussichtlich häufig Typen definiert werden.

In Python  werden Typen durch Klassen beschrieben.

Das folgende Beispiel zeigt, wie einfach es in Python  ist, einen neuen Typ hinzuzufügen. Durch die class-Anweisung wird der Typ ›Planet‹ hinzugefügt.

Beispiel
class Planet:
def __str__( self ):
return "Erde"

Der Typ eines Objekts ›Planet()‹ der neuen Klasse ist nun ›Planet‹ (aus dem Modul ›__main__‹).

Beispiel
print( type( Planet() ))
<class '__main__.Planet'>

Die Methode ›__str__‹ liefert für Objekte schon vorhandener Klassen eine Textdarstellung.

Beispiel
print( max.__str__() )
<built-in function max>

Für das Objekt ›Planet()‹ unserer neuen Klasse ›Planet‹ liefert die Methode ›__str__‹ den von uns bei der Definition der Methode festgelegten Wert »Erde«.

Beispiel
print( Planet().__str__() )
Erde

Wäre ›str‹ hingegen eine Prozedur (eine Funktion und keine Methode), die in einer fremden Bibliothek definiert ist, so wäre es unmöglich oder sehr schwierig, sie für einen neuen Typ zu erweitern.

Wir haben also auf einfache Weise einen Typ hinzugefügt und die schon vorhandene Methode ›__str__‹ für diesen Typ erweitert.

 

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram724541 stefan_ram:724541 Was ist objektorientierte Programmierung? Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd724541, slrprddef724541, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/objektorientierte_faq_python