Подтвердить что ты не робот

Может ли один абстрактный класс расширить другой абстрактный класс и увеличить функциональность

У меня есть абстрактный класс. Я хочу расширить абстрактный класс другим абстрактным классом, а затем реализовать расширенный абстрактный класс. Возможно ли это. Если да, то есть ли это хороший подход в отношении OOPS?

4b9b3361

Ответ 1

Я не уверен в особенности в Java, но он должен быть действительным.

В терминах ООП, если это имеет смысл, тогда запустите с ним. Чтобы использовать некоторые старые примеры, у вас может быть абстрактный класс Vehicle, а затем LandVehicle и FlyingVehicle абстрактные классы. Пока ваш пример имеет смысл как абстрактный класс, вы должны быть в порядке.

Ответ 2

Да, это возможно, и я не вижу причины не использовать его, если вам это нужно (отказ от ответственности: но, однако, есть много способов злоупотреблять этим и чрезмерно усложнять вещи, как и все в программировании обычно).

Следует заметить, что второму абстрактному классу не нужно реализовывать абстрактные методы из первого класса, но первый конкретный должен реализовать оба.

Ответ 3

Да!

Но это имеет смысл только в том случае, если абстрактный подкласс добавляет больше функциональности (абстрактно или нет).

В противном случае я не вижу смысла.

Ответ 4

Да, вы можете! Один абстрактный класс может быть расширен другим абстрактным классом

Ответ 5

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