Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   зачем нужны getter/setter? (http://www.flasher.ru/forum/showthread.php?t=71089)

Kan 28.10.2005 02:27

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

KidsKilla 28.10.2005 05:23

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

Жень Шень 28.10.2005 14:14

Вложений: 1
Цитата:

Сообщение от Kan
Растолкуйте,пожалуйста

Привет!
Посмотри приаттаченную статью. Там очень подробно расписан и ответ на твой вопрос, в том числе и примеры есть. Спасибо автору.

Kan 29.10.2005 00:41

Спасибо отозвавшимся

7thsky™ 29.10.2005 01:23

Цитата:

Сообщение от KidsKilla
обращение к св-вам напрямую
...
котором тебе удобно или проверять на допустимость:
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)


Часовой пояс GMT +4, время: 07:39.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.