When using object oriented solutions your objects encapsulate info they need to do the things you ask them to do. In general peeking inside at an objects vars w/ getXXX() and setXXX() defeats the whole purpose of object-oriented design -- yes there is controversy here. Google for articles written by Allen Holub on the subject. ( eg: "Why getter and setter methods are evil" and while your at it "Why extends is evil" ).
I try not to provide setXXX() methods, and only write getXXX() methods when necessary, for example a Customer object might have a getName() function. If there is no setXXX() then the value is read-only.
In general, an object that only has getters and setters is probably not a good design. Of course, your method might be something like getHTML(), which I use, but its not returning an object var, the object is actually doing something, on its own, and giving me back a string; eg:
//display contents of shopping cart
$cartView =& new CartView( $_SESSION[ 'cart' ] );
echo $cartView -> getHTML();
Overall I find object oriented solutions HARDER to create than purely procedural solutions but much more powerful and easy to maintain.
-Tom
PS good OO-design ideas are scattered everywhere, here's one i like on 'being a Good Citizen