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

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

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

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

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

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

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

Сравнение между перегрузкой и переопределением:

перегрузка

Переопределение

Определение

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

Это означает наличие подкласса с теми же методами под тем же именем и точно таким же типом параметров и тем же типом возврата, что и у суперкласса.

Имея в виду

Это означает, что более одного метода имеют одно и то же имя в одном классе, но имеют разные сигнатуры.

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

Поведение

Это добавляет или расширяет методы поведения.

Это изменяет существующее поведение метода.

Полиморфизм

Это полиморфизм времени компиляции.

Это полиморфизм во время выполнения.

Статический метод

Статический метод может быть перегружен.

Статический метод не может быть переопределен.

облигация

Статическая связь.

Динамическая связь.

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

Это может или не может требовать наследования.

Это всегда требует наследования.

ассоциация

Обычно это связано со статическими языками программ.

Обычно это связано с объектно-ориентированными программами.

Подпись

Методы имеют разные подписи.

Методы должны иметь одинаковую подпись.

скорость

Это быстрее, чем переопределение.

Это медленный по сравнению с перегрузкой.

Классы

Для перегрузки не требуется более одного класса.

Требуется как минимум два класса для перегрузки.

уровень

Методы могут иметь любой уровень доступа.

Методы имеют одинаковый или широкий уровень доступа.

пример

Класс Добавить

{

int sum (int a, int b)

{

вернуть a + b;

}

int sum (int a)

{

вернуть + 10;

}

}

Класс А // Супер Класс

{

пустое отображение (int num)

{

печать номер;

}

}

// Класс B наследует класс A

Класс B // Подкласс

{

пустое отображение (int num)

{

печать номер;

}

}

Рекомендуем

Похожие статьи

  • разница между: Разница между Сатирой, Сарказмом и Иронией

    Разница между Сатирой, Сарказмом и Иронией

    Ключевое отличие: Ирония - это фигура речи, которая использует слова, которые противоречат или скрывают истинное буквальное значение. Сарказм можно назвать насмешливым или ироничным замечанием для насмешки или выражения презрения. Сатира - это использование юмора, иронии, сарказма или преувеличения для разоблачения или критики идеи, института, претензий, общества и т. Д. Ирония - это фигура речи, которая использует слова,
  • разница между: Разница между сердечным приступом и остановкой сердца

    Разница между сердечным приступом и остановкой сердца

    Ключевое отличие: сердечный приступ - это когда приток крови к сердцу ограничен, что приводит к гибели клеток сердца. Недостаток кровотока вызван частичной закупоркой коронарной артерии, вызывающей разрыв уязвимой атеросклеротической бляшки, неустойчивый сбор липидов и лейкоцитов в стенке артерии. Остановка сердца - это заболевание сердца, при котором сердце не сжимается должным образом, что не позволяет эффективно циркулировать кровь в другие органы. Остановка сердца вызвана нерегулярным биением сердца, которое приводит к тому, что оно перестае
  • разница между: Разница между Snapdeal и Amazon

    Разница между Snapdeal и Amazon

    Основное отличие: Snapdeal - это индийская компания, основанная предпринимателями Куналом Балом и Рохитом Бансалом в 2010 году. Amazon.in является дочерней компанией материнской компании Amazon.com. Он начал свою деятельность в Индии в 2012 году с запуском Junglee.com Покупки, для которых требовались часы на охоту, торговлю и поез
  • разница между: Разница между Дальним и Дальним

    Разница между Дальним и Дальним

    Ключевое отличие: Far - это наречие и прилагательное, которое указывает, что что-то находится на расстоянии. При использовании он позволяет другим узнать, что объект находится на расстоянии от объекта. Вдали это фраза наречий. Он изменяет предмет так, чтобы указывать, что предмет находится на большом расстоянии от чего-то другого, больше, чем просто далеко. Анг
  • разница между: Разница между Samsung Galaxy S Duos и Sony Xperia P

    Разница между Samsung Galaxy S Duos и Sony Xperia P

    Ключевое отличие: Samsung Galaxy S Duos - это телефон с двумя SIM-картами, выпущенный в сентябре 2012 года. Телефон оснащен 4-дюймовым емкостным сенсорным TFT-дисплеем с плотностью примерно 233 ppi. Устройство поставляется с сенсорным интерфейсом Samsung TouchWiz на Android 4.0.4 ICS. Sony Xperia P оснащен 4-дюймовым сенсор
  • разница между: Разница между законом и регулированием

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

    Ключевое отличие: Законы на самом деле являются правилами и руководящими принципами, которые устанавливаются социальными институтами для управления поведением. Эти законы принимаются государственными чиновниками. Законы должны соблюдаться всеми, включая частных лиц, группы и компании, а также общественных деятелей, организации и учреждения. Законы устанавливают стандарты, процедуры и принципы,
  • разница между: Разница между iPhone 6 и iPhone Air

    Разница между iPhone 6 и iPhone Air

    Ключевое отличие: iPhone Air был кодовым названием iPhone следующего поколения. В сентябре 2014 года Apple Inc. анонсировала два последних телефона в своей линейке: iPhone 6 и iPhone 6 Plus. Это не только новейшие телефоны, но и самые большие iPhone на сегодняшний день. Сегодня iPhone является одним
  • разница между: Разница между структурой и союзом

    Разница между структурой и союзом

    Основное отличие: структура определяется оператором struct , тогда как union определяется оператором union . Оба хранят данные, но хотя объединение позволяет хранить разные типы данных в одной и той же ячейке памяти, структура в основном используется для представления записи. В языке программирования C и структура, и объединение - это два разных типа пользовательских типов данных, что означает, что они могут использоваться для хранения данных двумя разными способами. И структуры, и объе
  • разница между: Разница между Samsung Galaxy Tab 3 7.0 и iPad

    Разница между Samsung Galaxy Tab 3 7.0 и iPad

    Ключевое отличие: Samsung Galaxy Tab 3 7.0 оснащен 7-дюймовым сенсорным TFT-экраном WSVGA и имеет размеры 188 x 111, 1 x 9, 9 мм, что делает устройство более тонким по сравнению с предыдущим планшетом. Планшет на самом деле нацелен на нижний диапазон. iPad имеет размер экрана 9, 7 дюймов с мультисенсорным дисплеем. iPad

Выбор редакции

Разница между локальной сетью и Wi-Fi

Ключевое отличие: LAN обозначает локальную сеть. Это тип сети передачи данных, который ограничен в географическом охвате. В локальной сети устройства обмениваются данными по общему каналу связи (проводной / беспроводной), обеспечивая умеренную скорость передачи данных. Wi-Fi расшифровывается как «Wireless Fidelity». Это позволяет компьютеру и другим устройствам соединяться с Интернетом в непосредственной близости от точки доступа. Wi-Fi относится к подкатегории беспроводных локальных сет