Ключевое отличие - наследование и интерфейс в Java
Java - это язык программирования, разработанный Sun Microsystems. Java можно использовать для разработки различных приложений. Это мультипарадигмальный язык, поддерживающий объектно-ориентированное, структурированное и т. Д. Основное преимущество Java состоит в том, что он поддерживает объектно-ориентированное программирование (ООП). Программист может создавать классы и объекты. В ООП четыре столпа. Это наследование, полиморфизм, абстракция и инкапсуляция. Наследование и интерфейсы связаны с ООП. Ключевое различие между наследованием и интерфейсом состоит в том, что наследование заключается в получении новых классов из существующих классов, а интерфейс - в реализации абстрактных классов и множественного наследования.
СОДЕРЖАНИЕ
1. Обзор и ключевые различия
2. Что такое наследование в Java
3. Что такое интерфейс в Java
4. Сходства между наследованием и интерфейсом в Java
5. Сравнение бок о бок - наследование и интерфейс в Java в табличной форме
6. Резюме
Что такое наследование в Java?
Наследование может обеспечить повторное использование кода. Наследование помогает повторно использовать атрибуты и методы существующего класса. Механизм создания нового класса с использованием старого класса называется наследованием. Старый класс известен как родительский класс или суперкласс. Производный класс называется дочерним классом или подклассом.
Синтаксис наследования Java следующий.
class subclass_name расширяет superclass_name {
объявление переменной;
объявление метода;
}
Понятие наследования можно пояснить на следующем примере. Предположим, что существует класс с именем A следующим образом.
public class A {
public void sum () {
System.out.println («Сумма»);
}
}
Если мы хотим добавить новый метод, не изменяя существующий класс, мы можем сделать это следующим образом.
public class B {
public void sub () {
System.out.println («Подложка»);
}
}
Программист может использовать наследование для использования класса A sum ().
public class B расширяет класс A {
public void sub () {
System.out.println («Подложка»);
}
}
В основной функции можно создать объект B и вызвать sub (), который принадлежит классу B, и sum (), который принадлежит классу A, используя наследование.
public static void main (String args) {
B obj = новый B ();
obj.sub ();
obj.sum ();
}
Есть разные типы наследования. Это одиночное наследование, множественное наследование, многоуровневое наследование и иерархическое наследование. В одиночном наследовании есть один базовый класс и один производный класс. В многоуровневом наследовании есть три класса, а именно базовый класс, промежуточный класс и производный класс. Промежуточный класс наследуется от базового класса, а производный класс наследуется от промежуточного класса. В иерархическом наследовании есть один базовый класс и множество производных классов. Существует специальный тип, известный как гибридное наследование. Это комбинация двух или более типов наследования.
Рисунок 01: Наследование
В множественном наследовании есть много базовых классов и один производный класс. Предположим, что классы A и B являются базовыми. Класс C - это производный класс. Если оба класса A и B имеют один и тот же метод, и программист вызывает этот метод из производного класса, это вызовет проблему неоднозначности. Наследование двух классов может вызвать ошибку времени компиляции. Поэтому множественное наследование в Java не поддерживается. Для решения этой проблемы можно использовать интерфейс.
Что такое интерфейс в Java?
Абстракция - это процесс сокрытия деталей реализации и отображения пользователю только функциональных возможностей. Абстракция может быть достигнута с помощью абстрактных классов или интерфейсов. Абстрактный метод - это метод без реализации. Класс с хотя бы одним абстрактным методом является абстрактным классом. Пример абстрактного класса следующий.
abstract class A {
абстрактная пустая сумма ();
}
Предположим, что существует два абстрактных класса, такие как A и B. Для реализации абстрактных методов A и B создается новый класс C. Тогда класс C должен расширять как A, так и B. Но множественное наследование не поддерживается в Java. Следовательно, следует использовать интерфейсы. Интерфейсы можно использовать для объявления методов, но невозможно определить методы. Невозможно создать объект с помощью интерфейсов. Класс C должен реализовывать все методы в интерфейсах A и B.
interface A {
пустая сумма ();
}
interface B {
void sub ();
}
класс C реализует A, B {
public void sum () {
System.out.println («Суммирование»);
}
public void sub () {
System.out.println («Вычитание»);
}
}
Теперь в основной программе можно создать объект языка C и вызвать оба метода.
public static void main (String args) {
C obj = новый C ();
obj.sum ();
obj.sub ();
}
Итак, интерфейсы можно использовать для реализации множественного наследования.
Другое использование интерфейсов - обеспечение безопасности. См. Приведенный ниже код.
interface A {
пустая сумма ();
}
класс B реализует A {
public void sum () {
System.out.println («Суммирование»);
}
public void multiply () {
System.out.println («Умножение»);
}
}
При создании объекта B можно вызвать оба метода sum () и multiply (). Если программист хочет ограничить использование функции multiply (), это возможно следующим образом.
public static void main (String args) {
A obj = новый B ();
obj.sum ();
}
A obj = новый B (); создаст объект. Это тип A, и память выделена как B. Можно вызвать sum (), но нельзя выполнить multiply (). Это ограничение осуществляется с помощью интерфейсов.
Каковы сходства между наследованием и интерфейсом в Java?
- Обе концепции связаны с объектно-ориентированным программированием.
- Оба представляют собой отношения IS-A.
В чем разница между наследованием и интерфейсом в Java?
Различать статью в середине перед таблицей
Наследование и интерфейс в Java |
|
Наследование - это концепция ООП для получения новых классов из существующих. | Интерфейс - это механизм в ООП для реализации абстракции и множественного наследования. |
Применение | |
Наследование обеспечивает возможность повторного использования кода. | Интерфейсы обеспечивают абстракцию и множественное наследование. |
Резюме - Наследование и интерфейс в Java
Java - это язык программирования с несколькими парадигмами, поддерживающий объектно-ориентированное программирование. Наследование и интерфейсы связаны с объектно-ориентированным программированием. Разница между наследованием и интерфейсом заключается в том, что наследование заключается в получении новых классов из существующих классов, а интерфейсы - в реализации абстрактных классов и множественного наследования.
Загрузите PDF-версию наследования и интерфейса в Java
Вы можете загрузить PDF-версию этой статьи и использовать ее в автономных целях в соответствии с примечанием к цитированию. Пожалуйста, скачайте PDF-версию здесь Разница между наследованием и интерфейсом в Java