-Поиск по дневнику

Поиск сообщений в elektrosva

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 15.07.2010
Записей: 103
Комментариев: 1
Написано: 103


А. Г. Сивак, Межъязыковое перекрестное наследование

Воскресенье, 27 Февраля 2011 г. 14:24 + в цитатник

Весьма привлекательной возможностью .NET является межъязыковое перекрестное наследование. Для примера давайте создадим новый класс Visual Basic .NET, который будет производным от SportsCar (напомним, что последний был создан в C#). Сначала добавим файл нового класса с именем PerformanceCar.vb в имеющееся приложение Visual Basic .NET (с помощью выбора Project>Add Class из меню). Обновим исходное определение класса путем получения производного типа из SportsCar, используя ключевое слово Inherits. Кроме того, переопределим абстрактный метод TurboBoost(), используя для этого ключевое слово Overrides.

Imports CarLibrary

' Этот VB-тип является производным C#-типа SportsCar.

Public Class PerformanceCar Inherits SportsCar

 Public Overrides Sub TurboBoost()

  Console.WriteLine("От нуля до 100 за какие-то 4,8 секунды…")

 End Sub

End Class

Чтобы проверить работу нового типа класса, обновите метод Main() модуля так.

Sub Main()

 …

 Dim dreamCar As New PerformanceCar()

 ' Наследуемое свойство.

 dreamCar.PetName = "Hank"

 dreamCar.TurboBoost()

 Console.ReadLine()

End Sub

Обратите внимание на то, что объект dreamCar способен вызывать любые открытые члены (например, свойство PetName) по цепочке наследования, несмотря на то, что базовый класс определен на совершенно другом языке и в другой библиотеке программного кода.

Исходный код. Проект VbNetCarClient размещен в подкаталоге, соответствующем Главе 11.


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку