Python: Objektorientierte Programmierung
Python unterstützt natürlich Objektorientierte Programmierung (OOP) (u.a. Polymorphie, (Mehrfach-) Vererbung, ...). Hier erst einmal kurzes Beispiel, um ein Gefühl dafür zu vermitteln, wie OOP in Python aussieht:class Greeter:
def __init__(self):
self.message = 'Hello World!'
def greet(self):
print self.message
class Shouter(Greeter):
def greet(self):
print self.message.upper()
greeter = Greeter() # Instanzierung
greeter.greet()
greeter = Shouter()
greeter.greet()
Greeter
und Shouter
, definiert, jeweils mit einer Methode greet
. Greeter
besitzt einen Konstruktor, __init__
, in dem die Instanzvariable message
gesetzt wird. Wie auch "normale" Variablen, müssen Instanzvariablen nicht deklariert werden - sie werden durch die Zuweisung automatisch erzeugt. Die Klasse Shouter
ist von Greeter
abgeleitet und überschreibt die Methode greet
.Nach den Klassendefinitionen wird zuerst ein
Greeter
-Objekt instanziert, indem die Klasse "aufgerufen" wird. Dies resultiert in einem Aufruf des Konstruktors __init__
von Greeter
. Anschließend wird seine Methode greet()
aufgerufen. Anschließend wird dies mit Shouter
wiederholt.Alle Methoden deklarieren die Instanzvariable (konventionellerweise
self
genannt) explizit, im Gegensatz zu C++ und Java , wo der this
-Pointer bei jeder (nicht-statischen) Methode implizit vorhanden ist.Generell sieht eine Klassendefinition wie folgt aus:
class KlassenName(BasisKlasse1, BasisKlasse2, ...):
<Anweisung-1>
...
<Anweisung-N>
def
-Blöcke, die Methoden definieren, wie im obigen Beispiel. Andere Anweisungen sind allerdings auch möglich, etwa um eine Klassenvariable zu definieren:
class Test:
i = 123
print Test.i
greeter = Greeter()
greet = greeter.greet
while 1:
greet()
Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.
Weiterlesen: ⯈ CGI-Programmierung
Über uns

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project