|
|
|||||
Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,181
|
поидее в конструкторе он подефолту срабатывает сразу, если без дополнительных переметров...хотя может ошибаюсь
|
|
|||||
Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
|
Если бы super срабатывал по умолчанию сразу, какой бы был прок вообще его писать?
Вот пример: package { import flash.display.MovieClip; public class BaseClass extends MovieClip { public static const CONST:String = "CONST"; protected var num:int; public function BaseClass() { num = 10; } } } package { public class MainClass extends BaseClass { public function MainClass() { trace(num); trace(BaseClass.CONST); super(); trace(num); trace(BaseClass.CONST); } } } Все выполняется в том порядке, в котором определил программист |
|
|||||
Регистрация: Nov 2003
Сообщений: 289
|
мм.., да litebox Вы правы...
|
|
|||||
Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,181
|
я сторонник всегда вызывать super() в конструкторе, но в случае, если его не вызывать, то получается, что он вызывается в конце конструктора?
|
|
|||||
.
|
Цитата:
|
|
|||||
Регистрация: Nov 2003
Сообщений: 289
|
если не вызывать, вызывается в начале:
package { public class SampleSuperClass { public var a:int = -1; public function SampleSuperClass() { a = 1; } } } package { public class SampleClass extends SampleSuperClass { public function SampleClass() { trace(a); a = 2; trace(a); } } } |
|
|||||
Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,181
|
ага...тоже проверил
|
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Смотрю на код : hr : и litebox и думаю... Код по идее одинаков, а результаты разные... Сейчас нет возможности проверить, и кто из них прав?
UPD: А, все, каким то боком проглядел super()
__________________
Тут мужик танцует и поёт про флэш Последний раз редактировалось Psycho Tiger; 31.03.2009 в 15:21. |
|
|||||
Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,181
|
разный код...у : hr : super() вызывается по дефолту в начале
|
|
|||||
Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
|
Да, если super() не вызывать принудительно, оно вызывается в начале, вполне логичная система, так и в Delphi было, хотя, давно это было...
|
Часовой пояс GMT +4, время: 15:48. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|