Есть ли способ наследования от родительского класса без перезаписи методов с тем же именем? - PullRequest
0 голосов
/ 02 мая 2011

Мне нужно ввести новое поведение для каждого элемента управления dropDownList моего веб-приложения (asp.net/C#). Каждый раз, когда в раскрывающемся меню выбирается новое значение, вызывается веб-метод (с использованием Ajax / JSON).

Поскольку у меня есть «нормальные» элементы управления типа DropDownList и пользовательские элементы управления, использующие DropDownList внутри них, я планировал создать класс, наследующий от класса DropDownList с новым поведением, а затем переключить все текущие экземпляры DropDownList на этот.

Таким образом, все мои обычные и пользовательские выпадающие списки автоматически получат новую функцию. Однако пользовательский элемент управления уже имеет имплементацию для события «onselectedindexchanged», где реализованы некоторые другие функции. Поскольку я использовал бы то же событие для нового (родительского) класса, оно будет перезаписано в пользовательском элементе управления.

Конечно, я могу написать в пользовательском элементе управления тот же код, что и в родительском элементе, но есть ли способ избежать дублирования кода?

Спасибо, Лука

1 Ответ

0 голосов
/ 02 мая 2011

Конечно, я могу написать в пользовательском элементе управления тот же код, что и в родительском, но есть ли способ избежать дублирования кода?

C #:

public void doSomething() {
    base.doSomething(); //parent class
    //My stuff here
}

Java

public void doSomething() {
    parent.doSomething(); //parent class
    //My stuff here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...