Tonn
Ну и что это за пример такой? То, что PHP -- слабо типизированный язык ещё не значит, что надо в геттеры/сеттеры вставлять проверку типов. Тот же код в C++. x и y -- unsigned int. И?
По поводу того, что
надо всегда использовать. В теории. Пусть в теории. Где определён этот постулат? Где написано, что public не имеет права на жизнь? И почему он вообще существует в таком случае? Просьба не ссылаться на авторов конкретных подходов к ОО-дизайну. Есть множество концептов и методик -- то, что они использовать public не хотят совсем не значит, что использовать его нельзя вовсе.
Вообще все свойства класса должны быть private/protected и работать с ними нужно через соответствующие методы.
ты аргументировано опровергнешь то чему учат с первого курса университета.
Большинство свойств, если уж на то пошло, всегда public. Иначе в них мало смысла. На первом курсе совсем не учат тому, что аттрибуты != свойства?
И ещё, _RVK_, твой пример великолепно wrap'ится на C# и любом другом языке, который на уровне _языка_ поддерживает свойства. Причём до того, как ты начал хакать свою же структуру и тебе понадобилось таки это wrap'ить вполне возможно использование public-аттрибутов, если нет необходимости в обратном.
_RVK_, если ты делаешь столь категоричное заявление, будь добр -- объясни его ты. А потом мы его, возможно, опровергнем и отаргументируем своё. С другой стороны, мы можем и согласиться.