Перезагрузка
-----------------------------------------------------------------------------------------------------------------------------------------
Это когда в программе есть 1 метод и у этого метода есть несколько реализаций, которые различаются не названием, а только аргументами и возвращаемым типом значения. Пример:
public static void Main(string Args[])
{
Method(); // 1 перезагрузка метода
Method("Это 2 перезагрузка метода");
Method(1); // Это 3 перезагрузка метода
}
public static void Method() { } // Это сам метод
public static void Method(string msg) { MessageBox.Show(msg); } // Перезагрузка метода
public static int Method(int num) { return num; } // Перезагрузка метода
-----------------------------------------------------------------------------------------------------------------------------------------
Переопределение
-----------------------------------------------------------------------------------------------------------------------------------------
Кратко - это когда в базовом классе определяется метод в ключевым словом virtual - это означает что в базовом классе этот метод может содержать реализацию, но если унаследовать какой-то класс от этого класса, то производный класс может переопределить этот метод с помощью ключевого слова override, то есть изменить его реализацию, но при этом не тронув его оболочку. Пример:
public class BaseClass
{
public virtual void Method()
{
// Реализация в базовом классе
}
}
public class Class : BaseClass // Наследуем класс от базового класса
{
public override void Method() // Переопределение метода через ключевое слово override
{
base.Method(); // Вызывает реализация базвого класса, но можно определить и свою
}
}
Java
чем отличается перегрузка от переопределения?)
Александр Мартынюк
Т. е. не виртуальный метод нельзя переопределить?
Я так понимаю подразумеваются методы?
Перегрузка - добавление вариантов метода с одним и тем же названием (разное: тип возвращаемого значения, типы параметров).
Переопределение - замена уже существующего метода на другой метод с таким же типов возвращаемого значения и типами параметров.
Перегрузка - добавление вариантов метода с одним и тем же названием (разное: тип возвращаемого значения, типы параметров).
Переопределение - замена уже существующего метода на другой метод с таким же типов возвращаемого значения и типами параметров.
Похожие вопросы
- Отличается сумма Почему отличается сумма ряда 1/n^2 при n от 1 до 1000000 и от 1000000 до 1?
- Чем Java отличается от JavaScript
- чем отличается структурно процедурное програмирование от обьектно ориентированого?)
- Чем абстрактный класс отличается от интерфейса?
- Зарплата инженера и программиста у нас отличается в сотни раз, а какая разница в мире между этим специалистами?
- Подскажите про перегрузку/переопределение C#
- Помогите с переопределением операторов в C++
- Если космонавт испытывает перегрузки, находясь внутри центрифуги, которая вращается со скоростью 20 м /c, то
- почему выбран такой индикатор перегрузки?
- Какая перегрузка при ускорении тела человека с 0 до 135 км/ч за 2.9 секунды?