Getter/Setter in Python
Verfasst: Mittwoch 8. Dezember 2010, 10:35
Hallo,
eine Frage zum Thema getter/setter. Generell ist das ja ein Konzept was von anderen Programmiersprachen wie zB C++, Java kommt. Getter und Setter haben, soweit ich weiss, den zweck zB kontrollmöglichkeiten etc noch nachträglich einbauen zu können oder auch einen "read-only" zugriff zu realisieren.
Mein gedanke ist jetzt, das Getter und Setter relativ lästig sind, vorallem wenn sie keine erweiterte Funktionaltät enthalten. Deswegen würde ich sie erstmal weglassen.
Wenn ich jetzt nachträglich feststelle das ich einen getter o.ä. benötige kann ich diesen ja mit property wunderbar und transparent integrieren:
Ist das grundsätzlich so richtig/zu empfehlen?
eine Frage zum Thema getter/setter. Generell ist das ja ein Konzept was von anderen Programmiersprachen wie zB C++, Java kommt. Getter und Setter haben, soweit ich weiss, den zweck zB kontrollmöglichkeiten etc noch nachträglich einbauen zu können oder auch einen "read-only" zugriff zu realisieren.
Mein gedanke ist jetzt, das Getter und Setter relativ lästig sind, vorallem wenn sie keine erweiterte Funktionaltät enthalten. Deswegen würde ich sie erstmal weglassen.
Code: Alles auswählen
class A:
def __init__(self):
self.var=0
a = A()
a.var += 1
print(a.var)
Code: Alles auswählen
class A:
def __init__(self):
self.var=0
def getVar(self):
return self._var
def setVar(self,var):
if var<10:
self._var=var
var = property(getVar, setVar)
a = A()
a.var += 1
print(a.var)
Ist das grundsätzlich so richtig/zu empfehlen?