![]() |
|
Модераторы: ginnie, korob2001 |
![]()
|
|
| Zuzu |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 19.10.2006 Где: Екатеринбург Репутация: нет Всего: 4 |
Добрый день, дамы и господа!
Пусть есть некоторый класс (package) zzz, в нем - конструктор (new) и свойство value (код, не относящийся к вопросу пропущен)
Запись и чтение значения value происходит так:
А теперь вопрос: Можно ли сделать, чтобы было так:
Это сообщение отредактировал(а) Zuzu - 19.10.2006, 16:54 --------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно. |
||||||
|
|||||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 2 Всего: 84 |
так нет? но зачем |
|||
|
||||
| Zuzu |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 19.10.2006 Где: Екатеринбург Репутация: нет Всего: 4 |
Нет, ни так. Хочется именно $self->value = 'something'; При присваивании значения должна быть вызвана процедура, отвечающая за свойство value. Все должно происходить в рамках парадигмы ООП. Применение - пожалуйста. Проверка на целостность данных на уровне объекта. Например, в качестве value экземпляром объекта принимаются только строки не длинее 200 символов, а если длиннее - обрезаются и возводится свойство $self->overloaded Это сообщение отредактировал(а) Zuzu - 19.10.2006, 17:53 --------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно. |
|||
|
||||
| Ezh |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 11.9.2006 Репутация: нет Всего: нет |
Используй аксессоры. Пример ниже, только эти проверки кушают CPU (логично, правда?), так что если нужно что-то супер быстрое, то не рекомендуется. В примере, если присвоить $foo->bar значение более 40, то оно умрет с воплем 'AAAA tolko ne eto!'
Если меньше 40, то все присвоится ок
|
|||
|
||||
| Zuzu |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 19.10.2006 Где: Екатеринбург Репутация: нет Всего: 4 |
--------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно. |
|||
|
||||
![]()
|
| Правила форума "Perl: Системное программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |