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

Оглавление:

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

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

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

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

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

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

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

Разница между перегрузкой и переопределением в Java
Разница между перегрузкой и переопределением в Java
Разница между перегрузкой и переопределением в 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.

Разница между перегрузкой и переопределением в Java_Рисунок 02
Разница между перегрузкой и переопределением в Java_Рисунок 02
Разница между перегрузкой и переопределением в Java_Рисунок 02
Разница между перегрузкой и переопределением в Java_Рисунок 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
Ключевая разница между перегрузкой и переопределением в 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

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