«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Элемент Ссылка на объекты через их интерфейсы

Элемент Ссылка на объекты через их интерфейсы

Опубликовано 6 ноября 2024 г.
Просматривать:140

Item  Referencie os objetos através das interfaces deles

Предпочтение интерфейсов в качестве ссылочных типов:
Если существует подходящий интерфейс, вы должны ссылаться на объекты через него, а не через конкретный класс.
Это относится к параметрам, возвращаемым значениям, переменным и полям.

Гибкость при использовании интерфейсов:
Использование интерфейсов позволяет изменять реализацию, не затрагивая код.
Пример: для перехода с LinkedHashSet на HashSet или TreeSet просто измените конструктор.

Когда НЕ использовать интерфейсы:
Функциональность, специфичная для реализации:
Если реализация предлагает что-то, что не требуется интерфейсом (например, LinkedHashSet гарантирует порядок итерации, а HashSet — нет).

Без соответствующего интерфейса:
Некоторые классы, такие как String или BigInteger, не имеют эквивалентных интерфейсов и должны использоваться напрямую.

Среды на основе классов:
Пример. На выходной поток в пакете java.io ссылаются через абстрактный класс, а не через интерфейс.

Методы, специфичные для реализации:
Пример: PriorityQueue реализует Queue, но имеет метод comparator(), которого нет в Queue. Используйте этот класс только в том случае, если вам нужен этот дополнительный метод.

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

Примеры кода
Хороший пример: используйте интерфейс типа

Set s = new LinkedHashSet();

Плохой пример: использование конкретного класса в качестве типа

LinkedHashSet s = new LinkedHashSet();

Гибкость: изменение реализации, не затрагивая код

Set s = new TreeSet();

Пример использования финального класса, такого как String

String str = "Hello";

Пример использования базового класса платформы

OutputStream output = new FileOutputStream("file.txt");

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/giselecoder/item-64-referencie-os-objetos-atraves-das-interfaces-deles-4ln0?1. В случае нарушения прав обращайтесь по адресу [email protected]. удалить его
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3