сокрытие методов.

RasimS
Дата: 28.05.2006 16:19:16
Меня тут заинтересовал один интересный вопросик.
Есть класс. Что - то типа такого
class one
{
public string returnstring()
{
return "One";
}
}
и еще один класс, что-то типа
class two : one
{
public new string returnstring()
{
return "two";
}
}

создаю два экземпляра
one o = new one();
two t = new two();
o.returnstring();
t.returnstring();
Дак вот вопрос в следующем. Зачем ставить new, если сокрытие метода и так проходит. выводит всегда свои значения.
maXmo
Дата: 28.05.2006 17:04:50
чтобы было видно, что этот метод перекроет метод родительского класса, причём перекрытие не виртуальное.
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
RasimS
Дата: 29.05.2006 01:47:22
maXmo
чтобы было видно, что этот метод перекроет метод родительского класса, причём перекрытие не виртуальное.
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm

Это понятно, но вот я убираю new и результат тот же самый. Интересно просто, почему?
Maxxxxxxxxxxx
Дата: 29.05.2006 07:01:52
Да потому, что если компилятор встречает в наследнике метод, совпадающий по названию и сигнатуре с родительским, но не имеющий модификаторов new или override, то он по умолчанию снабжает метод потомка модификатором override.