![]() |
Проблема с super()
Приведу сокращенный вариант примеры из книги К.Мука гл. 25 стр. 706-716.
Код AS3:
Код AS3:
Код AS3:
1. Почему у ключевого слова super() описанного в Rectangle отсутствуют аргументы? 2. Количество и тип переменных описанных в суперклассе должен содержать и подкласс? |
Цитата:
Т.к. Код:
public function Polygon(xpoints:Array = null, ypoints:Array = null)2: не понял. |
1. У класса Polygon все параметры конструктора помечены как необязательные, со значениями по-умолчанию.
2. Все переменные описанные в суперклассе наследуются и попадают в производный класс. Но обратиться из подкласса вы можете только к public и protected полям и методам. |
ChuwY,
Код AS3:
Код AS3:
|
Цитата:
|
Цитата:
Тогда исходя из ваших слов получается, что я могу без проблем написать вот так: Код AS3:
Код AS3:
|
Цитата:
переменные xpoints и ypoints не объявлены в подклассе, соответственно такая передача их в суперкласс приведет к ошибке Цитата:
|
goodguy, а почему выходит такая ошибка: "Error #1063: Несоответствие количества аргументов в Rectangle().", если мы в подклассе объявили переменные, но не присвоили значение? Ведь можно же позже присвоить значение, т.е.
Код AS3:
Код AS3:
|
Цитата:
Не видя всего кода сложно сказать наверняка. |
Цитата:
|
Ну, можно в теле этой же функции, как и любой другой переменной
Только особого смысла не вижу. Я такой подход использую только при работе с бокс2д, когда в параметре передаю пиксели, а внутри функции они уже конвертируются в метры |
Цитата:
Код AS3:
Цитата:
Код AS3:
Код AS3:
|
Цитата:
Цитата:
|
Цитата:
Код AS3:
Код AS3:
Хотя может мы говорим о разных вещах, хз |
Ну да, о разных. В примере, локальной переменной присвоено значение 5.0. А Параметром передали 20.0, например. Сначала переменная someParam приняла значение Параметра (20.0), а потом — заданное значение 5.0. Разница должна ощущаться невооруженным глазом.
|
а как может быть объявлена переменная без слова var в этом случае?
Что-то я уже сам не догоняю Добавлено через 6 минут хотя я понял о чем ты |
В составе определения метода, конечно. Компилятор, встречая определение метода, создает локальные переменные, перечисленные в его аргументах. Параметр — это значение!
|
| Часовой пояс GMT +4, время: 01:00. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.