Исходники
Статьи
Языки программирования
.NET Delphi Visual C++ Borland C++ Builder C/С++ и C# Базы Данных MySQL MSSQL Oracle PostgreSQL Interbase VisualFoxPro Веб-Мастеру PHP HTML Perl Java JavaScript Протоколы AJAX Технология Ajax Освоение Ajax Сети Беспроводные сети Локальные сети Сети хранения данных TCP/IP xDSL ATM Операционные системы Windows Linux Wap Книги и учебники
Скрипты
Магазин программиста
|
Ishodniki.Ru » Online книги » Visual Basic по шагам Шаг 23 - Несколько интерфейсов и версии Еще одно использование полиморфизма версии COM объектов. Решив расширить функциональность объекта или исправить код можно создать новый класс на основе интерфейса. Соответственно новый клиент будет пользоваться новым объектом интерфейса, а старый старым. Что позволяет безболезненно выпускать все новые и новые более функциональные версии. Ни кто не запрещает собирать в класс реализации нескольких интерфейсов. Объявите два класса интерфейса: Implements IClassNew Implements IChet Private Sub IChet_Method() MsgBox "Chet1 Method" End Sub Private Sub IChet_Test() MsgBox "Chet1 Test" End Sub Private Sub IClassNew_Test2() MsgBox "chet1 Test2" End Sub И новая версия класса будет поддерживать и старый интерфейс и новый. Здесь совместимость идет на уровне интерфейсов. Есть один интерфейс, есть новый интерфейс. При таком подходе должен быть способ программно проверить, а поддерживает ли объект этот интерфейс. Он есть и реализовывается с помощью оператора TypeOf. Dim interface As IChet Private Sub Command1_Click() Set interface = New ClassChet If TypeOf interface Is IClassNew Then MsgBox "Support IClassNew" End If Set interface = Nothing End Sub Private Sub Command2_Click() Set interface = New ClassChet1 If TypeOf interface Is IClassNew Then MsgBox "Support IClassNew" End If Set interface = Nothing End Sub К ClassChet1 добавлен интерфейс IClassNew. |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Рейтинги
|