eugene_leshchinskiy
@eugene_leshchinskiy

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

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

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

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

Войти через центр авторизации
Похожие вопросы