Иллюстрированный самоучитель по VB.NET



Полиморфизм - часть 2


Стоило пропустить хотя бы одну... и нам бы не хотелось, чтобы этот реактив испытывался на наших анализах крови. Конечно, исправление многих команд Select Case превращало сопровождение в настоящий кошмар, требующий долгих часов тестирования.

Полиморфизм позволяет написать программу, которая в подобной ситуации ограничивается единственным изменением. Все, что от вас потребуется, — определить для нового реактива новый класс и правильно запрограммировать в нем переопределяемые или добавленные методы.

Почему? Потому что в главной программе можно будет использовать конструкции следующего вида:

For Each reagent in Reagents

reagent.Method

Next

Показанный цикл будет автоматически работать с новым реактивом, а необходимость в долгих поисках Sel ect Case отпадет.

Select Case reagent Case iodine

' Действия с йодом Case benzene

' Действия с бензолом

' И т. д. для 100 разных случаев в 100 местах

В приведенном выше фрагменте цикл For Each перебирает все возможные реактивы, и благодаря волшебному свойству полиморфизма компилятор найдет метод, который должен вызываться для каждого конкретного реактива. Правильное использование полиморфизма избавит вас от громоздких команд Select Case, выбирающих нужное действие в зависимости от типа объекта.




Содержание  Назад  Вперед