Seter und geter Methoden?
Übersicht

![]() |
beanage.johannesBetreff: Seter und geter Methoden? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey, wollt mal wissen und zwar: Schreibt ihr für eure Projekt Seter und geter methoden für die Types?
Weil bei BMax ist das ja recht sinnlos, bis auf das der code etwas wenn auch nur wenig leichter zu lesen ist oder? Danke ![]() |
||
![]() |
DaysShadow |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mittlerweile schon, da ich Type-Eigenen Variablen einen Unterstrich vorransetze und diese Schreibweise:
Code: [AUSKLAPPEN] Instance._variable
extrem schlecht aussieht. Andere machen es auch so bzw. wurde es mir so geraten, siehe hier: https://www.blitzforum.de/foru...styleguide Hilft wirklich bei der Leserlichkeit des Codes. MfG DaysShadow |
||
Blessed is the mind too small for doubt |
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es hat ausserdem den Vorteil, dass noch weitere Aktionen ausgeführt werden können (z.B. beim Setter einen PropertyChanded-"Event" auslösen, oder direkt einen Wertebereich überprüfen und den Wert nur annehmen wenn er im gültigen Bereich ist etc.). Wenn in so einem Fall die Variable direkt geändert wird, könnte es zu Fehlverhalten kommen.
Auch bei vielen anderen Sprachen ist es eigentlich eher selten dass eine Klassenvariable direkt (public) zugänglich gemacht wird. Dem einen oder anderen mag es sicher doof vorkommen für jede Variable Getter und Setter zu schreiben. Aber wenn man z.B. an die Vererbung bei Klassen denkt: Code: [AUSKLAPPEN] Type Parent Field variable:Int End Type Type Sub Extends Parent 'wie kann man z.b. wenn sich die Variable ändert eine Aktion ausführen? 'wird unnötig komplexer End Type Code: [AUSKLAPPEN] Type Parent Field _variable:Int Method GetVar:Int() return _variable End Method Method SetVar(value:Int) _variable = value End Method End Type Type Sub Extends Parent Method SetVar(value:Int) If _variable <> value Then 'Aktion EndIf Super.SetVar(value) End Method End Type Klar, das mit den Gettern und Settern gibt mehr Code, aber als komplexer würde ich es nicht bezeichnen, macht vieles einfacher ![]() |
||
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sieht bei mir in etwa so aus derzeit:
BlitzMax: [AUSKLAPPEN] Type TDasType Erstellen wäre BlitzMax: [AUSKLAPPEN] Local MeineInstanz:TDasType = (New TDasType).setDasField(42) Abruf wäre BlitzMax: [AUSKLAPPEN] MeineInstanz.dasField() So machts das ganze für mich sehr viel leserlicher. Allerdings ist das auch nicht jedermanns Sache und sollte eigentlich jedem selbst überlassen sein. 99% meiner Codes ließt eh kein anderer, also mach ich es, wie es für mich am besten ist. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group