* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
Создание абстрактных членов
8 февраля 2009
У абстрактного класса могут быть различные члены, как у обычного класса. Их объявляют с ключевым словом Overridable (virtual) — в этом случае в производных классах они реализуются по-разному; в противном случае реализация члена счита- ется фиксированной и в неизменном виде передается всем производным классам. Кроме того, в абстрактных классах допустимо объявлять абстрактные члены. Процедура их объявления во многом напоминает объявление члена интерфейса. При этом указывают только тип члена, уровень доступа, необходимые параметры и тип возвращаемого значения. Объявление абстрактного члена не содержит ника- ких деталей его реализации — только его интерфейс.
Абстрактные члены объявляют при помощи ключевого слова MustOverride (Visual Basic .NET) или abstract (C#). Определять абстрактные члены можно только в абст- рактных классах, в противном случае возникает ошибка компиляции. Вот пример абстрактного класса с тремя абстрактными членами: Visual Basic .NET Public Mustlnherit Class Car Public MustOverride SuQ GoForward(ByVal I As Integer) Public MjstOverride Function CheckSpeedO As Integer Public MjstOverride Property Color() As String End Class Visual C# public abstract class Car { public abstract void GoForward(int I); public abstract irt CheckSpeecK ): public abstract string Color { get; set; Обратите внимание, что при определении абстрактного свойства на Visual C# необходимо объявить метод-получатель, метод-установщик или оба. За реализацию этих методов отвечает производный класс. В Visual Basic .NET предполагается, что свойство доступно для чтения и записи, если не указано ключевое слово Readonly или WriteOnfy.