Интерфейсы с множеством базовых интерфейсов

Интерфейсы с множеством базовых интерфейсов

При построении иерархии интерфейсов вполне допустимо создавать интерфейсы, которые оказываются производными от нескольких базовых интерфейсов. Однако напомним, что нельзя строить классы, которые будут производными от нескольких базовых классов. Для примера предположим, что вы строите набор интерфейсов, моделирующих поведение автомобиля.

public interface ICar { void Drive(); }

public interface IUnderwaterCar { void Dive(); }

// Здесь интерфейс имеет ДВА базовых интерфейса.

public interface IJamesBondCar: ICar, IUnderwaterCar { void TurboBoost(); }

На рис. 7.6 показана соответствующая цепочка интерфейсов.

Рис. 7.6. Общая система типов (CTS) допускает множественное наследование интерфейсных типов

При построении класса, реализующего IJamesBondCar (машина Джеймса Бонда), вы должны реализовать TurboBoost(), Dive() и Drive().

public class JamesBondCar: IJamesBondCar {

 public void Drive() { Console.WriteLine("Ускорение…"); }

 public void Dive() { Console.WriteLine("Погружение…"); }

 public void TurboBoost() { Console.WriteLine{"Взлет!"); }

}

Этот специализированный автомобиль можно использовать так, как и ожидается.

static void Main(string[] args) {

 …

 JamesBоndCar j = new JamesBondCar();

 j.Drive();

 j.TurboBoost();

 j.Dive();

}

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Операции над множеством для сортированных структур (Set operations on sorted structures)

Из книги Руководство по стандартной библиотеке шаблонов (STL) автора Ли Менг

Операции над множеством для сортированных структур (Set operations on sorted structures) Этот раздел определяет все основные операции над множеством для сортированных структур. Они даже работают с множествами с дубликатами, содержащими множественные копии равных элементов. Семантика


Лекция № 8. Создание базовых отношений

Из книги Базы данных: конспект лекций автора Автор неизвестен

Лекция № 8. Создание базовых отношений Предметом этой лекции будет довольно подробное рассмотрение оператора создания базового отношения. Мы подвергнуть разбору сам оператор в записи на псевдокоде, проанализируем все его составляющие и их работу, разберем способы


6. Модификация базовых отношений

Из книги Справочное руководство по C++ автора Страустрап Бьярн

6. Модификация базовых отношений Для успешной и продуктивной работы с различными базовыми отношениями очень часто разработчикам необходимо каким-либо образом модифицировать это базовые отношения.Какие основные необходимые варианты модификации встречаются чаще всего


R.12.6.2 Инициализация членов и базовых классов

Из книги AutoCAD 2009. Начали! автора Соколова Татьяна Юрьевна

R.12.6.2 Инициализация членов и базовых классов В определении конструктора можно задать инициализацию прямых базовых классов и членов, не наследуемых из базовых классов. Это особенно полезно для тех объектов, констант и ссылок, для которых различаются семантики


Роль библиотек базовых классов

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

Роль библиотек базовых классов В дополнение к спецификациям CLR и CTS/CLS, платформа .NET предлагает библиотеку базовых классов, доступную всем языкам программирования .NET. Эта библиотека базовых классов не только инкапсулирует различные примитивы, такие как потоки, файловый


Создание обобщенных базовых классов

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

Создание обобщенных базовых классов Перед рассмотрением обобщенных интерфейсов следует указать на то, что обобщенные классы могут быть базовыми для других классов и могут таким образом определять любое число виртуальных и абстрактных методов. Однако производные типы


Объекты DataSet с множеством таблиц и объекты DataRelation

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Объекты DataSet с множеством таблиц и объекты DataRelation До этого момента во всех примерах данной главы объекты DataSet содержали по одному объекту DataTable. Однако вся мощь несвязного уровня ADO.NET проявляется тогда, когда DataSet содержит множество объектов DataTable. В этом случае вы можете


Пример. Простановка базовых размеров

Из книги Системное программирование в среде Windows автора Харт Джонсон М

Пример. Простановка базовых размеров Проставьте линейный размер, а затем от него – базовые (рис. 10.15). Рис. 10.15. Простановка базовых размеровЗапустите команду DIMLINEAR, вызвав ее из меню Dimension ? Linear или щелчком на пиктограмме Linear на панели инструментов Dimension. Ответьте на


11 Интерфейсы: модели проектирования пользовательских интерфейсов в среде Unix

Из книги Написание скриптов для Blender 2.49 автора Anders Michel

11 Интерфейсы: модели проектирования пользовательских интерфейсов в среде Unix Начало всех наших знаний в наших ощущениях. —Леонардо да Винчи Интерфейсом программы является совокупность всех способов, посредством которых программа обменивается данными с пользователями


11 Интерфейсы: модели проектирования пользовательских интерфейсов в среде Unix

Из книги автора

11 Интерфейсы: модели проектирования пользовательских интерфейсов в среде Unix Начало всех наших знаний в наших ощущениях. —Леонардо да Винчи Интерфейсом программы является совокупность всех способов, посредством которых программа обменивается данными с пользователями


Еще раз о базовых классах

Из книги автора

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


Константы базовых типов

Из книги автора

Константы базовых типов Глобальные объекты - некий вызов ОО-методу, провозглашающему идеи децентрализации, модульности и автономности. Борьба шла за независимость модулей, за избавление от произвола центральной власти. Теперь этой власти нет. Как же построить систему, в


Пример: использование базовых указателей

Из книги автора

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


Выбор вершин со множеством рёбер

Из книги автора

Выбор вершин со множеством рёбер В идеале меш должен содержать грани, которые состоят из только четырех вершин (эти грани обычно именуются  quads — четырёхугольники), и у них должны быть относительно одинаковые размеры. Такая конфигурация оптимальна при деформации меша,