В языке Ada 95 теговый
7. В языке Ada 95 теговый тип может быть расширен приватными добавлениями:
with Airplane_Package; use Airplane_Package;
package SST_Package is
type SST_Data is new Airplane_Data with private;
procedure Set_Speed(A: in out SST_Data; I: in Integer);
function Get_Speed(A: SST_Data) return Integer;
private
…
end SST_Package;
Каковы преимущества и недостатки такого расширения?
8. Изучите машинные команды, сгенерированные компилятором Ada 95 или C++ для динамического полиморфизма.
Глава 15
Еще об
объектно-ориентированном
программировании
В этой главе мы рассмотрим еще несколько конструкций, которые существуют в объектно-ориентированных языках. Это не просто дополнительные удобства — это существенные конструкции, которые необходимо освоить, если вы хотите стать компетентными в объектно-ориентированных методах программирования. Данный обзор не является исчерпывающим; детали можно уточнить в учебниках по языкам программирования. Глава разделена на шесть разделов:
1. Структурированные классы.
• Абстрактные классы используются для создания абстрактного интерфейса, который можно реализовать с помощью одного или нескольких наследуемых классов.
• Родовые подпрограммы (Ada) и шаблоны (C++) можно комбинировать с наследованием для параметризации классов другими классами.
• Множественное наследование: класс может быть производным от двух или нескольких родительских классов и наследовать данные и операции каждого из них.
2. Доступ к приватным компонентам: Являются компоненты в закрытой части пакета или класса всегда приватными, или их можно экспортировать производным классам или клиентам?
3. Данные класса. В этом разделе обсуждаются создание и использование компонентов данных в классе.