
- •21. Объектно-ориентированная методология разработки программ. Виртуальные и динамические методы. Ранняя связь, поздняя связь. Отличие виртуальных и динамических методов.
- •Принципы:
- •22. Объектно-ориентированная методология разработки программ. Объект. Основные понятия. Наследование, инкапсуляция, полиморфизм
- •23.Объектно-ориентированные средства разработки. Директивы доступа. Наследование, правила наследования. Правило вызова наследуемых методов. Конструкторы, деструкторы.
- •Наследование.
- •24.Объектно-ориентированные средства. Виртуальные функции. Назначение, синтаксис. Абстрактные классы. Перегруженные операции
- •Перегрузка операций.
- •25.Объектно-ориентированные средства. Основные виды класса. Доступ к базовым и производным классам. Друзья классов. Абстрактные классы.
- •Основные виды класса:
- •Операции помещения и извлечения
- •27.Описание программного средства. Спецификация качества программного средства
- •28.Описание программного средства. Функциональная спецификация программного средства.
- •Функциональная спецификация программного средства.
- •Функциональная спецификация состоит из трех частей:
- •29.Основные классы архитектур программных средств.
23.Объектно-ориентированные средства разработки. Директивы доступа. Наследование, правила наследования. Правило вызова наследуемых методов. Конструкторы, деструкторы.
Visual C++ - это самое эффективное и высокопродуктивное средство разработки на языке C++ для Windows и Web. Visual C++ 6.0 выводит C++ на новый уровень производительности без потери гибкости, быстродействия и контроля. Она включает в себя: текстовый редактор, компилятор или интерпретатор языка прогр., может включать различные редакторы ресурсов, средства отладки и др.
Наследование.
Наследованиеэто механизм получения нового класса на основе уже существующего. Существующий класс может быть дополнен или изменен для создания нового класса.
Существующие классы называются базовыми, а новые –производными. Производный класс наследует описание базового класса; затем он может быть изменен добавлением новых членов, изменением существующих функций-членов и изменением прав доступа.
Наследуемые компоненты не перемещаются в производный класс, а остаются в базовых классах.
В иерархии классов соглашение относительно доступности компонентов класса следующее:
private –член класса может использоваться только функциями – членами данного класса и функциями – “друзьями” своего класса. В производном классе он недоступен.
protected– то же, что иprivate, но дополнительно член класса с данным атрибутом доступа может использоваться функциями-членами и функциями – “друзьями” классов, производных от данного.
public– член класса может использоваться любой функцией, которая является членом данного или производного класса, а также кpublic- членам возможен доступ извне через имя объекта.
Правило вызова наследуемых методов
Они вызываются как обычные методы (через “ . ” или “->”)
Конструктор—это функция которая инициализирует (создает) класс.
Деструктор—это функция которая удаляет класс и высвобождает память.
24.Объектно-ориентированные средства. Виртуальные функции. Назначение, синтаксис. Абстрактные классы. Перегруженные операции
Visual C++ - это самое эффективное и высокопродуктивное средство разработки на языке C++ для Windows и Web. Visual C++ 6.0 выводит C++ на новый уровень производительности без потери гибкости, быстродействия и контроля. Она включает в себя: текстовый редактор, компилятор или интерпретатор языка прогр., может включать различные редакторы ресурсов, средства отладки и др.
Виртуальной называетсяфункция, независимо определенная в каждом из группы производных классов и имеющая в них общее имя.Виртуальная функция обладает тем свойством, что при отсутствии полной информации о том, объект какого из производных классов в данный момент обрабатывается, она тем не менее корректно вызывается в том виде, к каком она была определена для данного конкретного класса. Такая возможность является результатомпозднего связывания. При позднем связывании адреса определяются динамически во время выполнения программы, а не статически во время компиляции, как в традиционных компилируемых языках, в которых применяетсяраннее связывание.
Виртуальные функции определяются в родительском классе, а в производных классах происходит их доопределение и для них создаются новые реализации. Виртуальные функции используют таблицу для адресной информации, которая инициализируется при выполнения конструктором.
Любая нестатическая функция базового класса может быть сделана виртуальной, если в ее объявлении использовать спецификатор virtual.
virtual void fun (int i);
Абстрактные классы. Абстрактным классом называется класс, в котором есть хотя бы одна чистая (пустая) виртуальная функция.Чистой виртуальной называется компонентная функция, которая имеет следующее определение:
virtual тип имя_функции (список_формальных_параметров) = 0;
Чистая виртуальная функция «ничего не делает» и недоступна для вызовов. Ее назначение - служить основой для подменяющих ее функций в производных классах. Исходя из этого становится понятной невозможность создания самостоятельных объектов абстрактного класса. Абстрактный класс может использоваться только в качестве базового для производных классов. При создании объектов такого производного класса в качестве подобъектов создаются объекты базового абстрактного класса.