Нужны ли нам геттер и сеттер для приватных переменных

0

Нам действительно нужен getter и setter для частных переменных? Поскольку они используются только в объекте и нигде больше, я думаю, что нет необходимости.

Я посмотрел в некоторые рамки, и я увидел, что есть смесь. Иногда иногда возникают геттер/сеттер (например, для платформы Symfony2).

Мое мнение таково, что они берут слишком много строк кода в моем классе.

  • 2
    Ухххх ты не просто ответил на свой вопрос?
  • 0
    Если поле требует доступа извне класса, то должен сделать getter.
Показать ещё 2 комментария
Теги:

3 ответа

0

Если вы хотите изменить или прочитать значение, вам нужен только сеттер или геттер. Если вы только создаете геттер, например, значение только для чтения.

0

Это зависит от ваших потребностей, но даже если вы используете их только внутренне, рассмотрите следующий сценарий:

class CalendarEvent{

  private $date;

  // with type hinting, you are sure to deal with a DateTime instance  
  public function setDate(DateTime $date){
    $this->date = $date;
  }

  public function getDate(){
    return $this->date;
  }

}

Будьте единообразны во всей своей кодовой базе, на мой взгляд, это не повредит иметь геттеры/сеттеры для каждой собственности.

[Принимать слишком много строк кода не должно быть аргументом, если они полезны.]

  • 0
    И насколько это полезно?
  • 0
    @ dan-klasson вы столкнетесь с исключением, если не соответствуете критериям , например ^^
Показать ещё 1 комментарий
0

Даже если в частном порядке (внутри объекта), если вы хотите установить/изменить несколько раз значение частного атрибута, вы можете получить выгоду от getter/setter, если вам нужно выполнить манипуляцию/проверку значения, то есть некоторую дезинфекцию, контроль, если пустой или что-то вроде этого... это всего лишь руководство, а не правило, и его нужно оценивать в каждом случае.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню