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

Реализует против расширяет

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

Расширяет

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

инвентарь

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

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

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