eugene_leshchinskiy
@eugene_leshchinskiy

Правильно ли создавать коллекцию типа интерфейс?

Если у меня интерфейс Car, и его реализуют Mazda и Audi(скрытая реклама). Правильно ли выражение List<Car> list = new LinkedList<>();
Или стоит использовать абстрактный/обычный класс для реализации полиморфизма?
  • Вопрос задан
  • 162 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Free_ze
Пишу комментарии в комментарии, а не в ответы
Все зависит от задачи. Если вам нужен локальный массив, то можно хоть по реализации. Если это некий контейнер, где действительно нужен полиморфизм, то лучше повышать абстракцию насколько это возможно. Т.е. если вам достаточно интерфейса, то стоит юзать его. Если нет - абстрактный класс. Если нет - родительскую реализацию. Если и ее недостаточно - конкретный класс.

Так принято в Java. Но за полиморфный вызов вы платите рантаймовыми тормозилками. Потому без особого смысла этого стоит избегать.
Ответ написан
Комментировать
@IceJOKER
Web/Android developer
Главное правильно выбрать нужный тип -> LinkedList || ArrayList || HashSet ..
А остальное уже не так важно(относительно), но преимущество данного способа в том, что вы легко можете поменять , в данном случае, LinkedList на другой класс реализующий List
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 22:26
3500 руб./за проект
22 нояб. 2024, в 21:47
3000 руб./за проект
22 нояб. 2024, в 21:44
50000 руб./за проект