Основы C#. Урок 42. Переопределяем методы класса System.Object
Часть методов класса System.Object, рассмотренных на прошлом уроке, были виртуальными. Это значит, что мы можем переписать их в классе-потомке. Давайте для примера перепишем в нашем классе Vector метод ToString так, чтобы он возвращал не имя класса, а координаты вектора в красивом виде. Это будет выглядеть вот так:
class Vector
{
public float x, y; //Координаты.//Переопределяем метод ToString.public override string ToString()
{
return "x = " + x +", y = " + y;
}
}
//Тестовый класс.class App
{
static void Main()
{
Vector v=new Vector();
v.x=2;
v.y=3;
//Выводим координаты вектора.
Console.WriteLine(v.ToString());
}
}
А в следующем примере мы переопределим виртуальный метод Equals таким образом, чтобы считать равными два вектора с одинаковой длиной (вспомним теорему Пифагора):