Содержание
- 2. ООП – решение кризиса ООП является лишь последним звеном в длиной цепи решений, которые были предложены
- 3. Сложные системы реального мира Персональный компьютер Дерево Человек Предприятие Государство
- 4. Признаки сложных систем Являются иерархическими и состоят из взаимозависимых подсистем, которые в свою очередь также могут
- 5. Объекты В предметной области выделяются объекты – некоторые целостные сущности, обладающие определенным поведением. Объект Состояние (атрибуты)
- 6. Классы Классы – множества однотипных объектов с одинаковым поведением и набором атрибутов. У различных объектов одного
- 7. Реализация действий в ООП Действие в ООП инициируется посредством передачи сообщений объекту, ответственному за действия. Сообщение
- 8. Инкапсуляция Таким образом внутреннее состояние и поведение объекта скрыто от других объектов. Изменить его можно извне
- 9. Позднее связывание. Полиморфизм. Имеется определенный объект, выполняющий метод Интерпретация сообщения (вызываемый метод) зависит от получателя и
- 10. Иерархия наследования Классы могут быть организованы в иерархическую структуру с наследованием свойств. Дочерний класс (или подкласс)
- 11. Переопределение метода Поиск метода, который вызывается в ответ на определенное сообщение, начинается с методов, принадлежащих классу
- 12. Повторное использование Наследование позволяет различным типам данных совместно использовать один и тот же код, приводя к
- 13. ОО программа Программа – совокупность взаимодействующих объектов. Каждый объект выполняет конкретную функцию. Объект соединяет вместе состояние
- 14. Принципы ООП Инкапсуляция (объединение данных с методами в сочетании со скрытием данных) Абстракция (расширяемость системы классов)
- 15. ООП в С++ Класс – тип данных, содержащий поля (переменные) и методы (функции) для их обработки.
- 16. Описание класса (без наследования) class { [private:] public: }; Элементы класса – поля и методы.
- 17. Пример класса #include #include class student { char fam[20],name[20]; int age; public: void setdata (char *f,
- 18. Использование объектов int main () { student a, b ; a.setdata("Ivanov", "Boris"); b.setdata("Sokolova", "Olga", 19); a.show();
- 19. Глобальные и локальные классы Классы могут быть глобальными (объявленными вне любого блока) и локальными (объявленными внутри
- 20. Встроенные и обычные методы Встроенный метод определяется внутри класса. Метод может быть определен вне класса, тогда
- 21. Определение метода вне класса При определении метода вне класса в его заголовке указывается имя класса с
- 22. Примеры использования объектов student group [25]; student *s = new student; … for (int i =
- 23. Указатель this Для того, чтобы метод работал с полями того объекта, для которого он вызван, передается
- 24. Конструкторы Конструктор – метод предназначенный для инициализации объекта, выполняющийся автоматически в момент его создания. Конструктор имеет
- 25. Пример использования конструктора #include #include #include class _time { int h,m; public: _time ( int hours
- 26. Список инициализации Служит для инициализации полей в конструкторе. Список позволяет инициализировать константные поля и поля-ссылки class
- 27. Конструктор копирования Конструктор копирования получает в качестве параметра константную ссылку на объект того же класса. T
- 28. Пример использования конструктора копирования class student { char *fam,*name; int age; public: student (char *f, char
- 29. Объекты как параметры функций Рассмотрим метод для сложения времени class _time { … void add (const
- 30. Объекты как результаты функций _time inc ( _time interv) { _time t; t.h = h +
- 32. Скачать презентацию