Преимущества / недостатки частных переменных?

Я привык делать почти все переменные моего класса закрытыми и создавать функции-оболочки, которые их получают / устанавливают:

class Something{
  private $var;

  function getVar(){
    $return $this->var;
  }

}

$smth = new Something();
echo $smth->getVar();

Я вижу, что многие люди делают это, поэтому я закончил делает то же самое :)

Есть ли какое-то преимущество в использовании их таким образом по сравнению с:

class Something{
  public $var;
}
$smth = new Something();
echp $smth->var;

?

Я знаю, что закрытые означает, что вы не можете получить к ним доступ напрямую вне класса, но мне это не кажется очень важно, если переменная доступна отовсюду ...

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

7
задан Alex 5 June 2011 в 12:53
поделиться