Наследование в ООП Java с помощью примера

Что такое наследование?

Наследование – это механизм, в котором один класс приобретает свойство другого класса. Например, ребенок наследует черты своих родителей. С наследованием мы можем повторно использовать поля и методы существующего класса. Следовательно, наследование облегчает повторное использование и является важной концепцией ООП.

В этом уроке вы узнаете,

Типы наследования

Существуют различные типы наследования в Java:

1.      Одиночное наследование:

В Single Inheritance один класс расширяет другой класс (только один класс).

На приведенной выше диаграмме класс B распространяется только на класс A. Класс A является суперклассом, а класс B является подклассом.

2.      Многократное наследование:

В множественном наследовании один класс распространяется более чем на один класс. Java не поддерживает множественное наследование.

Согласно вышеприведенной диаграмме, класс C расширяет класс A и класс B.

3.      Многоуровневое наследование:

В многоуровневом наследовании один класс может наследовать от производного класса. Следовательно, производный класс становится базовым классом для нового класса.

Как показано на диаграмме, класс C является подклассом B и B является подклассом класса A.

1.      Иерархическое наследование:

В иерархическом наследовании один класс наследуется многими подклассами.

В соответствии с вышеприведенным примером классы B, C и D наследуют один и тот же класс A.

5.      Гибридное наследование:

Гибридное наследование представляет собой комбинацию однократного и множественного наследования.

В соответствии с приведенным выше примером все общедоступные и защищенные члены класса A наследуются в класс D, сначала через класс B, а затем через класс C.

Наследование в Java

  • В Java, когда существует связь “Is-A”между двумя классами, мы используем Inheritance
  • Родительский класс называется суперклассом, а унаследованный класс – подкласс
  • Ключевое слово “extend”используется подклассным классом для наследования функций суперкласса
  • Наследование важно, поскольку оно приводит к повторному использованию кода

Синтаксис Java Inheritance:

Пример Java Inheritance

Супер ключевое слово

Ключевое слово super похоже на ключевое слово this.

Ключевое слово super может использоваться для доступа к любому элементу данных или методам родительского класса.

Супер ключевое слово можно использовать на уровне переменных, методов и конструкторов.

Синтаксис:

Изучите Наследование в ООП с примером

Рассмотрите одно и то же банковское приложение из предыдущего примера.

Мы должны открыть два разных типа учетной записи: один для сохранения и другой для проверки (также известный как текущий).

Давайте сравним и изучим, как мы можем приближаться к кодированию с точки зрения структурированного и объектно-ориентированного программирования. Структурный подход : при структурированном программировании мы создадим две функции –

  1. Один из них
  2. И другое для действия депозита.

Поскольку работа этих функций остается одинаковой для всех учетных записей.

Подход ООП : при использовании подхода

программирования ООП. Мы создали бы два класса.

  • Каждый из них имеет возможность ввода и снятия функций.
  • Это лишняя дополнительная работа.

Запрос на изменение в программном обеспечении

Теперь есть изменение спецификации требований для того, что так распространено в индустрии программного обеспечения. Вы должны добавить функциональную привилегированную банковскую учетную запись в Овердрафт. Для фона овердрафт – это средство, в котором вы можете снять сумму, превышающую остаток на вашем счете.

Структурный подход. Используя функциональный подход, я должен изменить мою функцию вывода, которая уже тестировалась и базировалась. И добавьте метод, как показано ниже, позаботится о новых требованиях.

Подход ООП: используя подход ООП, вам просто нужно написать новый класс с уникальной реализацией функции вывода. Мы никогда не касались тестируемого фрагмента кода.

Другой запрос на изменение

Что, если требование изменится дальше? Как добавить учетную запись кредитной карты с ее собственным уникальным требованием депозитов .

 

Структурный подход: используя структурный подход, вы снова должны изменить тестируемый код депозитного кода.

 

Подход ООП : но используя объектно-ориентированный подход, вы просто создадите новый класс с уникальной реализацией метода депозита (выделено красным цветом на изображении ниже).

Поэтому, несмотря на то, что структурное программирование сначала кажется легким, ООП выигрывает в долгосрочной перспективе.

Преимущество наследования в ООП

Но можно утверждать, что во всех классах у вас есть повторяющиеся фрагменты кода.

Чтобы преодолеть это, вы создаете родительский класс, скажем “учетную запись”и реализуете ту же функцию депозита и выходите. И сделайте дочерние классы унаследованным классом “account». Чтобы они имели доступ к функциям снятия и депозита в классе учетных записей.

Функции не должны выполняться индивидуально. Это Наследование в java.

0 ответы

Ответить

Хотите присоединиться к обсуждению?
Не стесняйтесь вносить свой вклад!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *