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, если сокрытие метода и так проходит. выводит всегда свои значения.
Maxxxxxxxxxxx
Дата: 29.05.2006 07:01:52
Да потому, что если компилятор встречает в наследнике метод, совпадающий по названию и сигнатуре с родительским, но не имеющий модификаторов new или override, то он по умолчанию снабжает метод потомка модификатором override.