Перегрузка метода
От: Glas  
Дата: 22.07.10 11:29
Оценка:
Есть класс

public class vtkInteractorStyleTrackballActor : vtkInteractorStyle
{
.....................................
      public void OnLeftButtonDown();
.....................................
}


Мне нужно перегрузить эту функцию, но в моем классе новый метод не срабатывает.

class MouseInteractorStyle4 :vtkInteractorStyleTrackballActor
{
    new public void OnLeftButtonDown() 
    {
      Console.Write("Pressed left mouse button.");
    }
}

Правильно ли я делаю или надо как-то по-другому?
Re: Перегрузка метода
От: Nuseraro Россия  
Дата: 22.07.10 11:48
Оценка: +1
Здравствуйте, Glas, Вы писали:

G>Есть класс

G>
G>      public void OnLeftButtonDown();
G>

G>Мне нужно перегрузить эту функцию, но в моем классе новый метод не срабатывает.
G>
G>    new public void OnLeftButtonDown() 
G>


А вы не троль? Гуглите слова virtual и override.
Homo Guglens
Re: Перегрузка метода
От: cvetkov  
Дата: 22.07.10 11:48
Оценка:
public class vtkInteractorStyleTrackballActor : vtkInteractorStyle
{
.....................................
      public virtual void OnLeftButtonDown();
.....................................
}


class MouseInteractorStyle4 :vtkInteractorStyleTrackballActor
{
    override public void OnLeftButtonDown() 
    {
      Console.Write("Pressed left mouse button.");
    }
}
... << RSDN@Home 1.2.0 alpha 4 rev. 1227>>
Re[2]: Перегрузка метода
От: Glas  
Дата: 22.07.10 11:53
Оценка:
Здравствуйте, Nuseraro, Вы писали:

N>Здравствуйте, Glas, Вы писали:


N>А вы не троль? Гуглите слова virtual и override.


Базовый класс в Dll. То что по уму надо надо базовый метод virtual и в наследуемом классе override это я понимаю. Просто видел пару статей про перегрузку public void вот и мелькнула надежда.
Re[3]: Перегрузка метода
От: alexey.kostylev Новая Зеландия http://alexeykostylev.livejournal.com/
Дата: 22.07.10 12:28
Оценка:
Здравствуйте, Glas, Вы писали:

G>Здравствуйте, Nuseraro, Вы писали:


N>>Здравствуйте, Glas, Вы писали:


N>>А вы не троль? Гуглите слова virtual и override.


G>Базовый класс в Dll. То что по уму надо надо базовый метод virtual и в наследуемом классе override это я понимаю. Просто видел пару статей про перегрузку public void вот и мелькнула надежда.


это не перегрузка. Просто в зависимости от того к какому типу будет приведена переменная, метод того типа и будет вызываться. Перегрузка это когда вне зависимости от типа переменной будет вызываться последний перегруженный метод в иерархии.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.