Показать сообщение отдельно
Старый 07.11.2015, 08:49
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 3  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Объясните предназначение суперкласса в проектах? Ну и что, что он вызывает родительскую версию конструктора, но собственно для чего? Какой смысл?
Когда создается свой класс, он наследуюе все свойства другого (суперкласса). Даже если не написать extends, он все равно по умолчанию будет наследовать свойства класса Object. Так вот чтобы все эти свойства суперкласса стали доступны, их тоже нужно создать. А так как класс создается вызовом конструктора, его необходимо вызвать. Если конструктор суперкласса не принимает никаких аргументов, то вызывать super() вручную не обязательно. Флеш плеер вызовет его автоматически.
Код AS3:
В ActionScript 3, super можно вызывать в любом месте конструктора.
Не всегда. Например если поставить throw перед вызовом конструктора суперкласса, то эту конструкцию он не пропустит. Поэтому лучше всегда ставить super() первым делом. Тем более что во многих других языках, он обязательно должен быть в самом начале, не надо вырабатывать плохую привычку