Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Помогите разобрать понятие интерфейса (http://www.flasher.ru/forum/showthread.php?t=157498)

samana 24.10.2013 14:57

Цитата:

Сообщение от Akopalipsis (Сообщение 1149682)
Что при реализации интерфейса не обязательно соблюдать строгий порядок , как при переопределении. То есть, можно добавлять новые параметры.

Простите, не могу понять ваш вопрос. О каких порядках и параметрах идёт речь?

Akopalipsis 24.10.2013 15:09

В интерфейсе
Код AS3:

function test(param:int):void

а в имплементирующем классе
Код AS3:

public function test(param:int, string:String):void
{
        //
}

То есть, можно ещё параметров добавить.

Wolsh 24.10.2013 15:11

Нет. Это называется "перегрузка метода". В AS3 не поддерживается.

Akopalipsis 24.10.2013 15:30

Спасибо! Очень удивлён, так как твердо был убеждён, что читал именно про возможность несоблюдения параметров.

in4core 24.10.2013 16:10

Wolsh - по сути перегрузка это

function a(c:String) {}
function a(d:int) {}
Например. Но ее тут нет - да

А тут приведена вообще другая конструкция интерфейс одно, класс другое. Так вообще нельзя

Fogflasher 24.10.2013 16:21

Читал главу из Мука некоторое время назад.
По отдельности вроде бы все было понятно, но в целом, как-то картинка удовлетворяюещго понимания не сформировалась.

Вот сейчас этот трэд бегло прочитал, и сложилось такое впечатление:

'Интерфейсы нужны для того, чтобы хитро обходить наследовательское ограничение типов данных.
Они дают возможность классу иметь кучу типов данных, и этим самым совершать более гибкие шарлатанские действия.'

Как бы шутка конешно, но на уровне нуба, оно как-то так и воспринимается.

Akopalipsis 24.10.2013 16:24

Fogflasher Везёт Вам! я долго не мог понять для чего они нужны.

Fogflasher 24.10.2013 16:56

Akopalipsis, я и сейчас полностью не понимаю, поэтому пока не касался этого вопроса на практике.

Wolsh 24.10.2013 16:58

На самом деле никакое "наследовательское" ограничение Вы не обойдете. Если какой-нибудь наследник Спрайта и наследник EventDispatchera реализуют один интерфейс, добавить в СписокОтображения Вы все-равно сможете только первого, но второго никак. Так что никакого шарлатанства не получится, игра по-честному: интерфейс не подменяет Тип Данных, он ЯВЛЯЕТСЯ другим уникальным типом данных, и ничего сверх заявленного не обещает. Он не даст Вам выдать Шейп за ТекстФилд.

Tails 24.10.2013 17:19

Не надо пытаться понять нубу, что такое интерфейс. Вы его поймёте, когда он вам понадобится. Оставьте эту главу на потом и продолжайте дальше учить.

Интерфейс - это тип данных. Такой же как класс, только абстрактный. Всё остальное растёт из этого.


Часовой пояс GMT +4, время: 08:08.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.