Перегрузка и переопределение

Anonim

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

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

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

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

Резюме: Термин перегрузка обычно ассоциируется со статически запрограммированными языками и преобладает в популярности в объектно-ориентированном программировании. Метод в классе с тем же именем метода с другой сигнатурой обозначается как метод перегрузки. Переопределение называется методом в классе с тем же именем метода и теми же аргументами / сигнатурой. Перегрузка разделяет равномерную связь между методами, доступными в одном классе, тогда как при переопределении создается связь между методом суперкласса и подклассом. Перегрузка позволяет наследовать от суперкласса. При переопределении метод подкласса заменяет суперкласс. Перегрузка должна иметь различную сигнатуру метода, тогда как переопределение должно выделять одну и ту же подпись.