![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2011
Сообщений: 4
|
Есть такой класс (не целиком, кусок):
public class ColoredBrush implements Brush { private var col:uint; private var w:int; private var h:int; private var cX:int; private var cY:int; private var dataArray:Array; public function ColoredBrush(pixelsData:Array, color:uint = 0xFF000000, centerX:int = 0, centerY:int = 0) { this.centerX = centerX; //Здесь возникает ошибка (сабж) this.pixelsData=pixelsData;//Здесь тоже использую get - set, тоже ошибка this.cY = centerY;//Здесь ошибки нет! this.col = color;//Ошибки нет! } public function get centerX():int{ return cX; } protected function set centerX(newCenterX:int):void{ if(newCenterX>=w||newCenterX<0) throw new ArgumentError("CenterX is invalid!",3); cX = newCenterX; } //другие методы } ![]() |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
Регистрация: May 2011
Сообщений: 4
|
Действительно, помогло.
Но желательно сделать так, чтобы эти свойства могли устанавливаться только в теле классов-потомков. Выход - использовать обычные методы, но с get-set было бы лучше. Никак не получится? |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
поменяйте на
должно помочь. Объявление сеттера вроде бы не запрещено в классе-потомке.
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
Регистрация: May 2011
Сообщений: 4
|
Спасибо огромное за помощь! Теперь понял, как это сделать.
Читал Колина Мука, он не писал про общедоступность set- и get- методов Последний раз редактировалось Leopardile; 01.08.2011 в 21:27. |
|
|||||
|
Дело не в общедоступности, а в том, что геттер и сеттер должны быть с одинаковым модификатором доступа. Исключение составляют только пространства имен, с их помощью можно и разный доступ назначить.
__________________
משיח לא בא משיח גם לא מטלפן |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:21. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| 1059 , ошибка компиляции |
|
|