![]() |
Как побороть отсутствие перегруженных методов?
Есть класс родитель и класс наследник.
Необходимо сделать разныеконструкторы у этих классов. Как это можно сделать в ActionScript? Пример: Код:
public class ParentClass{А как этот default constructor сделать если перегрузки методов нет? Либо как сделать в дочернем класе так, чтобы небыло необходимости вызывать super()? |
Код:
if (false) super(); |
Код:
if (false) super();А вот так всё получилось: Код:
if (1>2) super(); |
Решение конечно действенное, но выглядит, мягко говоря, странно.
Что это, баг флекса? Или в других IDE флеша тоже самое? |
Конструктор суперкласса всегда вызывается, если его вызов не указан.
|
Цитата:
|
потому что инициализация класса, на то и инициализация, что бы требовать аргументов. если они нужны для инициализации, значит они нужны для не родимой, и объект без них будет создан неправильно. чё не понятного? это же как 2х2. если требуют - значит надо.
|
Цитата:
У меня от одного класса наследуются 4 других, у которых практически одинаковая инициализация, которая и описана в конструкторе суперкласса. А один дочерний класс не нуждается в такой инициализации. В других языках (таких как Java, C++ и т.п.) подобная задача решается очень просто с помощью перегрузки конструктора, т.е. 2 конструктора у супер класса, принимают разное количество параметров. Здесь же, раз нет возможности перегрузить конструктор, хотелось бы хотя бы переопределить его - вот это как 2х2. А то, что это сделать можно только через условие (1>2) или что-нибудь в этом духе - это вообще бред (не в одном другом языке подобных извращений не встречал). |
| Часовой пояс GMT +4, время: 19:27. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.