![]() |
проверка класса и интерфейса компилятором?
привет! У меня вопрос по ас3 ООП: мне нужно чтобы в функцию передавался только объект наследованый от Boo и имеющий интерфейс IGoo. Как это можно реализовать без проверок ифами, на уровне компилятора ?
спасибо |
Boo должен имплементить IGoo.
|
Никак. Во всяком случае, на текущий момент.
|
Цитата:
|
по-моему, такой вариант решил бы поставленную задачу
Код:
class BaseGoo extends Boo implements IGooну и методы интерфейса не оверрайдятся, а реализуются.. если необходимо, чтобы класс передаваемого экземпляра обязательно не пустым образом реализовывал эти методы - можно в классе BaseGoo во всех методах IGoo выбрасывать ошибки, тогда наследникам придётся все методы переписывать.. если я правильно вас понял вообще |
о! Это мысль! (насчет ошибок). Правда это не на стадии компилятора будет но все же лучше чем ничего. Спасибо!
|
а virtual разве в ActionScript нет(это насчёт обязательного оверрайда/реализации)?
|
Компилятор поддерживает, плеер — нет. Для порядку virtual стоит писать.
|
Фишка в том, что в AS3 virtual - это антоним override. Т.е. любая функция, которая не override считается virtual (не важно, указали вы это или нет).
|
а, ё-маё, чушь тут городю) уже полгода к C++ не прикосался.. хотел сказать чистая виртуальная функция.
в c++ это так вролде записывается: Код:
virtual void doSmth() = 0;такого нет в AS? |
| Часовой пояс GMT +4, время: 19:50. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.