Разница между перегрузкой и переопределением в Java

Оглавление:

Разница между перегрузкой и переопределением в Java
Разница между перегрузкой и переопределением в Java

Видео: Разница между перегрузкой и переопределением в Java

Видео: Разница между перегрузкой и переопределением в Java
Видео: Java SE. Урок 22. Полиморфизм. Перегрузка и переопределение методов 2024, Апрель
Anonim

Ключевое различие - перегрузка против переопределения в Java

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

СОДЕРЖАНИЕ

1. Обзор и основные различия

2. Что является перегрузкой в Java

3. Что переопределяет в Java

4. Сходства между перегрузкой и переопределением в Java

5. Сравнение бок о бок - перегрузка и переопределение в Java в табличной форме

6. Резюме

Что такое перегрузка в Java?

Перегрузка - это возможность создавать несколько методов с одним и тем же именем с разными реализациями. См. Приведенный ниже код Java.

Разница между перегрузкой и переопределением в Java
Разница между перегрузкой и переопределением в Java

Рисунок 01: Программа Java, объясняющая перегрузку с различным количеством аргументов

Согласно приведенной выше программе, класс A содержит два метода с одинаковым именем. Первый метод суммы имеет два параметра. Второй метод сумм имеет три параметра. При создании объекта типа A и вызове sum (2,3) он вызывает метод sum с двумя параметрами, которые являются sum (int a, int b), и возвращает 5. При создании объекта типа A и вызове sum (2, 3,4), он вызовет другой метод sum с тремя параметрами, который представляет собой сумму (int a, int b, int c), и вернет 9.

Название метода то же, но количество параметров другое. Можно заметить, что один и тот же объект ведет себя по-разному. Эта концепция известна как перегрузка. Это также называется статическим связыванием или полиморфизмом времени компиляции.

Также могут быть перегружены разными типами данных. См. Приведенный ниже код Java.

Разница между перегрузкой и переопределением в Java Figure 02
Разница между перегрузкой и переопределением в Java Figure 02

Рисунок 02: Программа Java, объясняющая перегрузку с разным количеством аргументов

Согласно приведенной выше программе, класс A состоит из двух методов с одинаковым именем. Метод sum (int a, int b) получает два целых значения. Сумма (double a double b) получает два значения double. При создании объекта типа A и вызове sum (2,3) он вызовет sum (int a, int b) и вернет значение 5. При вызове sum (3.4, 5.6) он вызовет sum (double a double б) и вернуть значение 9.0. В этом примере методы имеют то же имя, но другой тип переменных. Это тоже перегрузка.

Что такое переопределение в Java?

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

Ключевое различие между перегрузкой и переопределением в Java
Ключевое различие между перегрузкой и переопределением в Java

Рисунок 03: Программа Java для переопределения

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

Эта концепция представляет собой тип полиморфизма, известный как переопределение. Это также называется поздним связыванием, динамическим связыванием, полиморфизмом времени выполнения.

В чем сходство между перегрузкой и переопределением в Java?

  • Оба являются типами полиморфизма.
  • При перегрузке и переопределении методы имеют одно и то же имя.

В чем разница между перегрузкой и переопределением в Java?

Различать статью в середине перед таблицей

Перегрузка против переопределения в Java

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

Резюме - Перегрузка против переопределения в Java

Полиморфизм - одна из основных концепций объектно-ориентированного программирования. Он предоставляет объекту возможность вести себя по-разному. Это может быть перегрузка или переопределение. Перегрузка - это полиморфизм времени компиляции, а переопределение - это полиморфизм времени выполнения. Они полезны при разработке программного обеспечения. Разница между переопределением и перегрузкой заключается в том, что перегрузка - это возможность создавать несколько методов с одним и тем же именем с разными реализациями, а переопределение предоставляет конкретную реализацию в методе подкласса для метода, уже существующего в суперклассе. В Java можно реализовать как перегрузку, так и переопределение.

Скачать PDF-файл Overloading vs Overriding in Java

Вы можете загрузить PDF-версию этой статьи и использовать ее в автономных целях в соответствии с примечанием к цитированию. Загрузите PDF-версию здесь. Разница между перегрузкой и переопределением в Java.

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