Должен ли класс, расширенный из базового, который использует интерфейс, когда-либо использовать тот же интерфейс?

#actionscript-3 #inheritance #interface

#actionscript-3 #наследование #интерфейс

Вопрос:

Эти вопросы взяты из моей истории AS3, но я думаю, что эта концепция применима ко всем языкам. Я не могу вернуться, чтобы проверить исходный код, но это беспокоило меня некоторое время, и я был бы признателен за некоторую ясность.

Мне было поручено написать игру MyGame, которая расширила класс GameBase. Шаблон, которому мне сказали следовать, требовал, чтобы игра использовала интерфейс iGame, но я обнаружил, что класс GameBase также использовал тот же интерфейс.

Не имея надлежащей нотации, я думаю об этом так:

    MyGame : GameBase
     |          |
   IGame      IGame
  

Мне это кажется излишним, и я хочу знать, было ли это или я неправильно понял наследование в этом контексте.

Ответ №1:

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