Вообще забудьте о дополнительном слове get -- это излишество.
1) Всё ок, метод setItem чисто теоретически может возвращать и только что добавленный айтем, тут все зависит от того, как класс используется. Я не знаю можно ли так пхп, но метод может в принципе возвращать и this или ссылку сам на себя. Что может быть использовано для реализации патерна билдер, например.
2) Плохо. Класс должен возврашать хранимый айтем, знать об его внутреннем представлении о каких-то его методах или полях ему совсем не нужно. Вернули айтем, потом у него и спрашивайте данные.
3) Третий пример я не понял. Да, в целом у класса есть какие-то данные, то да, он может их вернуть. Это не проблема.
PS То, о чём вы спрашиваете, называется OOD. К языку программирования это имеет немного отношения.
PPS В следующий раз, задавайте вопросы по какой-нибудь более конкретной модели. Пара-тройка простеньких классов, описывающих, ну там, книжную полку, напрмиер, на которую можно поставить книгу и забрать. Ваш пример слишком абстрактный.