Как наследовать и переопределить метод? - C#
Формулировка задачи:
Доброго времени суток!
Такой вопрос - можно ли наследовать метод и при этом переопределить его?
Пробовал вот так:
С уважением.
class Point2D
{
...
public virtual float Distance2(Point2D a) //метод объекта
{
var result = Math.Sqrt(Math.Pow((this.x - a.x), 2) + Math.Pow((this.y - a.y), 2));
return (float)result;
}
...
}
class Point3D: Point2D
{
...
public override float Distance2(Point3D с)
{
var result = Math.Sqrt(Math.Pow((this.x - с.x), 2) + Math.Pow((this.y - с.y), 2) + Math.Pow((this.z - с.z), 2));
return (float)result;
}
....Решение задачи: «Как наследовать и переопределить метод?»
textual
Листинг программы
public virtual void ShiftX(float shiftx) //сдвигает точку по Х на величину аргумента
{
Console.WriteLine("Shift point by X on {0}", shiftx);
this.x += shiftx;
}
.......
public override void ShiftX(float shiftx2)
{
base.ShiftX(shiftx2);
//Console.WriteLine("Shift point by X on {0}", shiftx2);
// this.x1 += shiftx2;
}