@ GolezTrol
В теме нет значка PHP, и вы ошибаетесь.То, что вы описываете, не имеет ничего общего с сеттерами.Вы можете принудительно ввести тип для параметра (в PHP), используя любой метод, а не только установщик.
Вы можете написать:
setX( X $x ){ ...}
setY( Y $y ){ ...}
или просто:
iAmMethodNotASetter( X $x, Y $y){
//20lines of code here end then:
$this->x = $x;
$this->y = $y;
}
Как вы видите, мне не нужны сеттеры для принудительного применения типа в свойствах объекта.
И все равно выдавать ошибку в установщик после проверки типа переменной.Это обычная ошибка программистов, которые перешли с языка, статически типизированного, на язык динамического типа.
Сеттеры и геттеры являются КОНВЕНЦИЕЙ, и они ничего не навязывают! Сегодня мы обычно используем их для созданияпростых старых объектов Java.(POJO - в php word POPO) Так что это просто конвенция (стандарт) для создания объекта, который можно использовать между библиотеками или проектами.
Вы можете комбинировать сеттеры с проверкой типов или чем угодно, но это не сделает их чем-то большим, чем они есть.
Об инкапсуляции:
@org.life.java -Джигар Джоши
«Основным преимуществом / целью является инкапсуляция геттерных сеттеров»,
@ Peter Alexander
«Вы должныиспользовать геттеры и сеттеры практически везде, в том числе внутри «класса».Если вы этого не сделаете, то вы потенциально нарушаете инкапсуляцию "" Геттеры и сеттеры инкапсулируют "
Неправильно, неправильно, неправильно . Инкапсуляция не имеет ничего общего сгеттеры и сеттеры и это очень распространенная ошибка. Я знаю, что многие статьи повторяли это снова и снова с ног на голову ...
геттеры и сеттеры не помогают инкапсуляции даже хуже, они могут нарушить инкапсуляцию.делайте это, когда вы используете их для получения некоторых данных от объекта, вместо того, чтобы просить объект сделать что-то для вас со своими собственными данными.
Encapsulation == объект берет на себя полную ответственность за свои данные и не дает свою строкуданные. И получатель для частной собственности - это не более чем сложная публичная публикация этого свойства == торможение инкапсуляции.
Инкапсуляция абзаца Chceck: http://en.wikipedia.org/wiki/C%2B%2B или http://en.wikipedia.org/wiki/Encapsulation_%28computer_science%29 Ни одного словао сеттерах или геттерах ...