|
|
|||||
Регистрация: Jan 2012
Сообщений: 836
|
Предназначение super()
Всем привет. Вот встал вопрос. Объясните предназначение суперкласса в проектах? Ну и что, что он вызывает родительскую версию конструктора, но собственно для чего? Какой смысл?
|
|
|||||
Регистрация: Jul 2014
Сообщений: 42
|
В ActionScript 3, super можно вызывать в любом месте конструктора. Например
package { public class SubClass extends SuperClass { protected var value:int; public function SubClass(value:int = 0) { this.value = value; super(20); } } } При перекрытии имеет значение. Перекрытием (overriding) называется переопределение метода в классе, который в противном случае был бы унаследован. Новый метод будет использоваться вместо унаследованного (хотя унаследованный метод остается доступен с использованием super). |
|
|||||
Цитата:
Не всегда. Например если поставить throw перед вызовом конструктора суперкласса, то эту конструкцию он не пропустит. Поэтому лучше всегда ставить super() первым делом. Тем более что во многих других языках, он обязательно должен быть в самом начале, не надо вырабатывать плохую привычку |
|
|||||
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Цитата:
|
|
|||||
Цитата:
Да и, повторюсь, это невозможно сделать во многих других языках. Зачем привыкать делать не правильно? |
|
|||||
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Цитата:
Пример: В суперконструкторе вызывается протектед метод init(). В наследнике в конструктор передаются параметры, которые я хочу использовать в переопределенном методе init(). |
|
|||||
Регистрация: Jan 2012
Сообщений: 836
|
Всем спасибо за ответы, частично разобрался)
|
|
|||||
Цитата:
А не правильный такой подход исходя из чистой логики. Как с домом, ты пытаешься крыть крышу, не построив стены |
|
|||||
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Не верная метафора крыша/стены. Дочерний класс строит не крышу, а вносит свои изменения и дополнения в строй материалы и методы их использования для построения этих самых стен. Крыша не является стеной, наследуюясь от стены, она бы являлось таковой. Более того, запись нескольких значений, никак не влияет на построение стен, значения относятся только к наследнику, что не расходится даже с твоей метафорой. Поэтому не убедил меня твой довод
Цитата:
|
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
Цитата:
|
Часовой пояс GMT +4, время: 16:47. |
|
« Предыдущая тема | Следующая тема » |
|
|