Implementierung objektorientierter Konzepte
In diesem Kapitel konzentrieren wir uns auf Muster mit objektorientierten Konzepten und deren Implementierung in Python. Wenn wir unsere Programme um Anweisungsblöcke herum entwerfen, die die Daten um Funktionen herum manipulieren, spricht man von prozedurorientierter Programmierung. In der objektorientierten Programmierung gibt es zwei Hauptinstanzen, die als Klassen und Objekte bezeichnet werden.
Wie implementiere ich Klassen und Objektvariablen?
Die Implementierung von Klassen und Objektvariablen ist wie folgt:
class Robot:
population = 0
def __init__(self, name):
self.name = name
print("(Initializing {})".format(self.name))
Robot.population += 1
def die(self):
print("{} is being destroyed!".format(self.name))
Robot.population -= 1
if Robot.population == 0:
print("{} was the last one.".format(self.name))
else:
print("There are still {:d} robots working.".format(
Robot.population))
def say_hi(self):
print("Greetings, my masters call me {}.".format(self.name))
@classmethod
def how_many(cls):
print("We have {:d} robots.".format(cls.population))
droid1 = Robot("R2-D2")
droid1.say_hi()
Robot.how_many()
droid2 = Robot("C-3PO")
droid2.say_hi()
Robot.how_many()
print("\nRobots can do some work here.\n")
print("Robots have finished their work. So let's destroy them.")
droid1.die()
droid2.die()
Robot.how_many()
Ausgabe
Das obige Programm erzeugt die folgende Ausgabe -
Erläuterung
Diese Abbildung zeigt die Art der Klassen- und Objektvariablen.
"Bevölkerung" gehört zur Klasse "Roboter". Daher wird es als Klassenvariable oder Objekt bezeichnet.
Hier bezeichnen wir die Populationsklassenvariable als Robot.population und nicht als self.population.