Я искал что-то очень легкое для объяснения полиморфизма, и я нашел пример. Но я не вижу, где на самом деле это реализовано в коде и как это делается? Можете ли вы, ребята, помочь мне?Динамический полиморфизм объяснен
Код:
//a class for dynamic polymorphism
public abstract class Shape
{
public abstract int Area();
}
class Rectangle : Shape
{
private int widht = 0;
private int lenght = 0;
public Rectangle(int a, int b)
{
widht = a;
lenght = b;
}
public override int Area()
{
Console.WriteLine("Area =");
return lenght * widht;
}
}
class Program
{
static void Main(string[] args)
{
Rectangle r = new Rectangle(10, 9);
double area = r.Area();
Console.WriteLine(area);
}
}
Это означает, что функция переопределения также относится к полиморфизму другими словами? –
Точно. «Переопределение метода» будет противоположно «Перегрузка метода» (статический полиморфизм). Метод Overriding - это новое определение существующего метода в его дочернем классе. Все объекты, созданные во время выполнения в куче. Фактическое связывание выполняется во время выполнения. (поздняя привязка) Более пояснительный сайт: http://www.erpgreat.com/java/static-and-dynamic-polymorphism.htm. – user1767754
@AbidAli Да, эти термины строго связаны. Обратите внимание на ссылки, которые я дал под ключевыми словами 'override' и' abstract'. – BartoszKP