
12.06.2010, 19:18
|
|
Регистрация: May 2010
Адрес: Украина, Донецкая обл., Харцызск
Сообщений: 13
|
ТОВАРИЩИ!!! Сеттер и геттер намного полезнее чем здесь описано,приведу несколько примеров:
1) нужно сделать в обьекте переменную, доступную только для чтения извне, но не для установки - тогда сама переменная делается private, и создается функция-геттер выдающая ее значение (для свойств-обьектов придется сначала сделать копию этого обьекта, чтобы не выдывать геттером ссылку на приватный обьект)
2) если добавление нового свойства создает избыточность данных. типичный пример - вектор (x,y) у которого иногда нужно узнавать длину length. Очевидно, что длина - значение вычисляемое, а значит его хранить не обязательно, можно написать геттер, который будет вычислять длину по значениям текущих координат вектора : return Math.sqrt(x*x+y*y)
да и для читабельности кода геттер и сеттер лучше, чем явный вызов методов
главное - нужно помнить, что удобство написания кода и скорость его выполнения - совсе разные вещи, поэтому в критических местах все-таки приходится кешировать избыточную информацию в виде отдельных переменных (как например длина вектора). даже сам Adobe этим не гнушается, вспомнитье хотябы свойство всех отображаемых обьектов "cacheAsBitmap"
|