PDA

Просмотр полной версии : зачем нужны getter/setter?


Kan
28.10.2005, 02:27
Почему используют get и set методы для обращения к свойствам класса? Как я понимаю, можно напрямую к ним(свойствам) обращаться.Чем это чревато? Растолкуйте,пожалуйста

KidsKilla
28.10.2005, 05:23
обращение к св-вам напрямую
а) страшное богохульство против ооп.
б) не даёт возможность хранить в классе переменную в том виде, в котором тебе удобно или проверять на допустимость:
set function param(p){
this._param = (5>p>3)||this._param;
}

Жень Шень
28.10.2005, 14:14
Растолкуйте,пожалуйста
Привет!
Посмотри приаттаченную статью. Там очень подробно расписан и ответ на твой вопрос, в том числе и примеры есть. Спасибо автору.

Kan
29.10.2005, 00:41
Спасибо отозвавшимся

7thsky™
29.10.2005, 01:23
обращение к св-вам напрямую
...
котором тебе удобно или проверять на допустимость:
set function param(p){
this._param = (5>p>3)||this._param;
...
}

И что часто такие условия используешь?

iNils
29.10.2005, 13:18
Часто не часто, а проверить не грех :)
Кораздо интересенее, когда при смены значение переменной, происходит еще какое то действие.

KidsKilla
29.10.2005, 16:25
нечасто, но я рассказал только принципиальную сторону. показал куда дальше думать =) остальное пущай сам додумывает.

7thsky™
29.10.2005, 16:48
я не в этом смысле, ты хочешь сказать что такое условие, выдаст то о чем может показаться?


var p:Number = 4;

trace ('>> ' + (5 > p > 3));

iNils
29.10.2005, 19:58
он имел ввиду

var p:Number = 4;
trace ('>> ' + (5 > p and p > 3));

:)

KidsKilla
29.10.2005, 19:59
фак, не пахает.
писал наобум. проверил, вродь пахало. а ща галяк.
тада
p=4
trace(3<p&&p<5)

iNils
29.10.2005, 20:00
оно и в первозданном виде выдаст то что имелось в виду...
Если бы...

KidsKilla
29.10.2005, 20:04
Если бы...
поправился ужо =)

iNils
29.10.2005, 20:36
поправился ужо =)
У меня не было цели тебя поймать на ошибке, често :)