![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 483
|
Цитата:
Но всё равно получаю ошибку: Error: Access of possibly undefined property beardLength through a reference with static type Gender. |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 2,283
|
Если hasOwnProperty - член класса почему его не видно в потомках?Я думал что имеется в виду раз Object динамический,то и hasOwnProperty добавляется динамически,потому его и не видно в потомках.
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Добавлено через 5 минут Цитата:
И ведь они правы, нет.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 2,283
|
Цитата:
|
|
|||||
|
Цитата:
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
|
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 483
|
Цитата:
Но в любом случае не понимаю, на кой ляд он ломится в Гендер, если в public переменной character.gender на момент присвоения значения свойства уже хранится экземпляр класса GenderMale, т.е. именно подскласса, а не самого Гендера? Объясни плиз. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Тогда почему тип свойства не GenderMale? Ага, чтобы там мог храниться экземпляр GenderFemale? Ну и как с бородой у неё?
Цитата:
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 483
|
Цитата:
![]() Выходит, возвращаемся к тому, с чего начинали: в Гендере прописываем и бороды, и |
|
|||||
|
А почему ты решил, что у женщины не может быть свойства "длина бороды"? Напиши beardLength = 0;
В твоем случае разделение можно сделать немного по-другому. Добавь в Gender свойство beardLength, которое будет задавать длину бороды, но в GenderFemale сделай его перезапись override public function set beardLength(value:Number):void { trace("Ой, всё! Нет у меня бороды!"); } override public function get beardLength():Number { return 0; } Я бы, на твоем месте, лучше сделал класс Human, и добавил ему свойство gender. А где надо просто проверял бы if (human.gender == Human.MALE) { // это мужик, у него есть п.с. У нашей училки по русскому в школе, была борода. При чем очень даже окладистая ![]()
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
|
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 483
|
Цитата:
Выходит, что проще оставить просто класс Gender безо всяких подклассов, туда свалить все свойства: и бороды, и талии, и гениталии, а потом анализировать уже внутри класса, например, проверяя GenderID каждого экземпляра перед всеми дальнейшими действиями. Тогда встаёт вопрос, выигрываем ли мы что-нибудь, используя подклассы Gender? Я закладывал, что например, в случаях, где какие-то элементы механики обрабатываются по-разному для мужских и женских персонажей, мы можем создавать абстрактные классы и расширять их с использованием полиморфизма, передавая в них экземпляр подкласса Gender. |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:22. |
|
|
« Предыдущая тема | Следующая тема » |
|
|