Объектно-ориентированное программирование (ООП) является основной парадигмой в разработке программного обеспечения. Это методология для разработки программы с использованием классов и объектов. Класс - это план. Он описывает, что должно содержаться в объекте. Он определяет свойства или атрибуты и методы, из которых должен состоять объект. Следовательно, объект является экземпляром класса. Эти объекты связываются с другими объектами. Одной из основных концепций ООП является полиморфизм. Это способность объекта вести себя по-разному. Полиморфизм подразделяется на две части, которые являются перегрузкой и переопределением. В этой статье обсуждается разница между этими двумя в Java. ключевое отличие между перегрузкой и переопределением в Java является то, что Перегрузка - это возможность создавать несколько методов с одним и тем же именем с разными реализациями, а переопределение - предоставить реализацию для метода подкласса, который уже существует в суперклассе..
1. Обзор и основные отличия
2. Что такое перегрузка в Java
3. Что такое переопределение в Java
4. Сходства между перегрузкой и переопределением в Java
5. Сравнение бок о бок - перегрузка и переопределение в Java в табличной форме
6. Резюме
Перегрузка - это возможность создавать несколько методов с одинаковыми именами в разных реализациях. См. Ниже 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.
Рисунок 03: Java-программа для переопределения
Согласно вышеупомянутой программе, класс A имеет метод display (). Класс B расширяется от класса A, поэтому свойства и методы класса A доступны классу B. Класс B имеет метод display () с определенной реализацией. При создании объекта типа A и вызове метода отображения он выдаст вывод B. Даже если у класса A есть метод отображения, он переопределяется методом отображения класса B. Подкласс реализует метод, уже существующий в суперклассе.
Эта концепция является типом полиморфизма и известна как переопределение. Это также называется Позднее связывание, Динамическое связывание, Полиморфизм времени выполнения.
Перегрузка против Переопределения в Java | |
Перегрузка в Java - это возможность создавать несколько методов с одинаковыми именами в разных реализациях.. | Переопределение в Java обеспечивает конкретную реализацию в методе подкласса для метода, уже существующего в суперклассе. |
параметры | |
При перегрузке методы имеют одинаковое имя, но разное количество параметров или другой тип параметров.. | В переопределении методы имеют одинаковые имена и параметры должны быть одинаковыми. |
Темы | |
Перегрузка происходит внутри класса. | Переопределение происходит в двух классах, которые имеют отношения наследования. |
Синонимы | |
Перегрузка называется полиморфизмом времени компиляции.. | Переопределение называется полиморфизмом времени выполнения.. |
Полиморфизм является основной концепцией в объектно-ориентированном программировании. Это дает возможность объекту вести себя несколькими способами. Это может быть как перегрузка, так и переопределение. Перегрузка - это полиморфизм времени компиляции, а переопределение - полиморфизм времени выполнения. Они полезны при разработке программного обеспечения. Разница между переопределением и перегрузкой заключается в том, что перегрузка - это возможность создавать несколько методов с одним и тем же именем с разными реализациями, а переопределение обеспечивает конкретную реализацию в методе подкласса для метода, уже существующего в суперклассе. Возможно реализовать как перегрузку, так и переопределение в Java.
Вы можете скачать PDF версию этой статьи и использовать ее в автономном режиме, как указано в примечании. Пожалуйста, загрузите PDF версию здесь. Разница между перегрузкой и переопределением в Java
1.tutorialspoint.com. «Переопределение Java.» Смысл. Доступна здесь
2. «Перегрузка метода в Java - Javatpoint». Доступна здесь
3. «Переопределение метода в Java - javatpoint». Доступна здесь