Разница между орудиями и расширениями

Разница между орудиями и расширениями
Разница между орудиями и расширениями

Видео: Разница между орудиями и расширениями

Видео: Разница между орудиями и расширениями
Видео: В чем разница между 1G, 2G, 3G и 4G? Детальный обзор 2024, Июль
Anonim

Реализует vs Расширение

Implements и Extends - это два ключевых слова в языке программирования Java, которые обеспечивают средства передачи дополнительных функций в новый класс. Ключевое слово Implements используется явно для реализации интерфейса, а ключевое слово Extends используется для наследования от (супер) класса. Обратите внимание, что концепции наследования и интерфейсов присутствуют в большинстве других объектно-ориентированных языков программирования, таких как C и VB. NET, но они предлагают другой синтаксис или ключевые слова для применения этих концепций. В этой статье рассматриваются только ключевые слова Implements и Extends, определенные в Java.

Расширяет

Ключевое слово Extends используется для реализации концепции наследования в языке программирования Java. Наследование по существу обеспечивает повторное использование кода, позволяя расширять свойства и поведение существующего класса вновь определенным классом. Когда новый подкласс (или производный класс) расширяет суперкласс (или родительский класс), этот подкласс наследует все атрибуты и методы суперкласса. Подкласс может дополнительно переопределять поведение (предоставлять новые или расширенные функции методам), унаследованное от родительского класса. Подкласс не может расширять несколько суперклассов в Java. Поэтому вы не можете использовать расширения для множественного наследования. Чтобы иметь множественное наследование, вам нужно использовать интерфейсы, как описано ниже.

Орудия

Ключевое слово Implements в языке программирования Java используется для реализации интерфейса классом. Интерфейс в Java - это абстрактный тип, который используется для указания контракта, который должен быть реализован классами, реализующими этот интерфейс. Обычно интерфейс содержит только сигнатуры методов и объявления констант. Любой интерфейс, реализующий конкретный интерфейс, должен реализовывать все методы, определенные в интерфейсе, или должен быть объявлен как абстрактный класс. В Java тип ссылки на объект может быть определен как тип интерфейса. Но этот объект должен либо иметь значение null, либо содержать объект класса, реализующего этот конкретный интерфейс. Используя ключевое слово Implements в Java, вы можете реализовать несколько интерфейсов для одного класса. Интерфейс не может реализовать другой интерфейс. Однако интерфейс может расширять класс.

Разница между орудиями и удлинителями

Несмотря на то, что Implements и Extends - это два ключевых слова, которые обеспечивают механизм наследования атрибутов и поведения класса в языке программирования Java, они используются для двух разных целей. Ключевое слово Implements используется для класса для реализации определенного интерфейса, а ключевое слово Extends используется для подкласса, расширяющего суперкласс. Когда класс реализует интерфейс, этот класс должен реализовать все методы, определенные в интерфейсе, но когда подкласс расширяет суперкласс, он может переопределять или не переопределять методы, включенные в родительский класс. Наконец, еще одно ключевое различие между реализациями и расширениями заключается в том, что класс может реализовывать несколько интерфейсов, но он может расширяться только из одного суперкласса в Java. В целом, использование Implements (интерфейсов) считается более выгодным по сравнению с использованием Extends (наследования) по нескольким причинам, таким как более высокая гибкость и возможность минимизировать связь. Поэтому на практике программирование для интерфейса предпочтительнее расширения базовых классов.

Рекомендуемые: