This was a getter/setter example, good OO does not use such methods, as it is truly "object oriented".
I must not understand your point. Almost every object ive ever used has properties. In fact this comment is so crazy to me I cant even think of what to say in response.
An object DOES something, you don't manipulate it's properties directly (and that's what getters/setters do, just in a PC way).
Well i dont know where you get this from, it doesnt match up with my experience at all (to say the least). An object is just an encapsulation of data and the methods that manipulate that data. Its like a record that is smart enough to know what subroutines can manipulate it. Property accessors just provide a convenient syntactic sugar for how to pass data into the object and a place to validate it when you have.
Lets bring this back to one of the original uses of OO: representing graphical elements in a GUI. Now say we have a cursor object, how do we change its color without using a property accessor? IME it would normally be done by something like:
$cursor->color(BLUE);
And no, im not going to give you a non getter/setter example, as that is what this thread is all about.
|