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

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

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

СОДЕРЖАНИЕ

1. Обзор и основные отличия
2. Что такое перегрузка в Java
3. Что такое переопределение в Java
4. Сходства между перегрузкой и переопределением в Java
5. Сравнение бок о бок - перегрузка и переопределение в Java в табличной форме
6. Резюме

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

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

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

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

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

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

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

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

Что такое переопределение в 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 Перегрузка против Переопределения в Java

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

Ссылка:

1.tutorialspoint.com. «Переопределение Java.» Смысл. Доступна здесь 
2. «Перегрузка метода в Java - Javatpoint». Доступна здесь
3. «Переопределение метода в Java - javatpoint». Доступна здесь