kwitters
Legacy Member
passero zei:Ook is het niet echt volgens de regels van OOP om variabelen public te zetten.
Enkel de compiler legt je regels op, de rest is allemaal vrij
. Het zou makkelijk zijn moest er een regel zijn van "gebruik altijd get/set, en nooit public members" of omgekeerd "gebruik steeds public members, en vergeet get/set". Was het allemaal maar zo simpel, dan moesten we niet meer nadenken en gewoon brainless coden
. Realiteit is dat je gewoon moet kijken wat het beste werkt in welke situatie. Als ik bijvoorbeeld een vector classe implementeer, zou dit als volgt gaan:class Vector2D {
public double x;
public double y;
inline bool operator==( const Vector2D& other ) {
...
}
Ik zie geen enkele reden om hier get/set te gebruiken. Dit kost enkel tijd, zowel in implementatie/debugging/documenting/run/... . Op deze manier hou je de classe gewoon eenvoudig. Er zijn andere gevallen waar het wel aan te raden is om get/set te gebruiken, bijvoorbeeld wanneer je member aan bepaalde voorwaarden moet voldoen, die je eerst wil controleren.
Een goeie programmeur weegt af wat in welke situatie het beste werkt
.
.

.
afeNormalize() aan, want soms weet je zéker dat de vector geen nul-lengte heeft en dan kan je gewoon ::Normalize gebruiken