Объектно-ориентированное программирование на С++
Литература Страуструп Б. Язык программирования С++, спец. изд./Пер. с англ. – М.; СПб. : «Бином» - «Невский Диалект», 2001 г. -1099с., ил. Павловская Т. А. С/С++. Программирование на языке высокого уровня. – СПб.:Питер,2003.-461с., ил. Джорж Шеферд. Программирование на Microsoft Visual C++ .NET : мастер-класс [пер. с англ.] - М. : Русская редакция ; СПб. : Питер , 2007 , 892 с., ил. Подбельский В.В. Язык С++ М.: Финансы и статистика, 2000 г. Ильдар Ш Хабибуллин. Программирование на языке высокого уровня C/C++ : [учебное пособие для вузов по направлению 654600 "Информатика и вычислительная техника" ] - СПб : БХВ-Петербург , 2006 , 485 с., ил. www.intuit.ru – Фридман А. Л. Язык программирования Си++
Введение C++ — компилируемый статически типизированный язык программирования общего назначения. Поддерживая разные парадигмы программирования, сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с предшественником — языком С, — наибольшее внимание уделено поддержке объектно-ориентированного и обощенного программирования. Разработчик – Страуструп Б.,Bell Labs. Предшественник – С (1979), Simula-67, Smalltalk Дата создания – 1983 г. Международный стандарт - ISO/IEC 14882 Цели: лучше языка С; поддерживать абстракцию данных; поддерживать объектно-ориентированное программирование.
Компоненты ООП Объект - это инкапсулированная абстракция, которая включает информацию о состоянии и чётко определённое множество протоколов доступа (сообщения, которые обрабатывает объект). Сообщения - это специальный символ, идентификатор или ключевое слово, которое представляет выполняемое объектом действие. Класс - представляет определённый тип объектов и задаётся с помощью описания класса, которое определяет переменные состояния и протокол доступа к объектам данного класса. Классы организуются иерархически, причём подклассы наследуют свойства породивших их классов. Экземпляр объекта - объекты принадлежат к какому-либо классу. Свойства экземпляра объекта определяются описанием класса. Метод - метод существует для каждого сообщения, определенного для некоторого класса. Метод определяет реакцию объекта на сообщение. Объекты обрабатывают сообщения в соответствии с методами, заданными в описании класса.
Терминология в С++ Класс - это новый тип данных, является расширением структурного типа данных. Объект - это переменная типа classname, где classname - определенный ранее класс. Данные состояния - закрытые данные или переменные экземпляра объекта, объявляются в описании класса и называются полями данных, данные-члены или просто члены. Сообщение - сообщения, которые объект класса может обработать указываются при помощи прототипов функций в описании класса (объявление функций). Методы в С++ - это определения функций. Прототипы функций с их определениями вместе представляют собой сообщения, которые может обработать объект. В совокупности они называются функциями-членами класса. Подкласс в С++ называют производным классом. Его родительский класс называют базовым классом.
Основные свойства объектно-ориентированного языка Абстракция Инкапсуляция (сокрытие реализации) Наследование Полиморфизм Перегрузка функций Шаблоны Виртуальные методы
Объектно-ориентированный подход позволяет: Объектно-ориентированный подход позволяет: уменьшить сложность программного обеспечения; повысить надежность программного обеспечения; обеспечить возможность модификации отдельных компонентов программного обеспечения без изменения остальных его компонентов; обеспечить возможность повторного использования отдельных компонентов программного обеспечения
Расширения свойств С Размещение описаний переменных Обязательное использование прототипов функций Параметры функций по умолчанию Расширение области видимости переменных
Модификатор const Модификатор const Перегрузка функций
Использование перечислений Использование перечислений
new и delete new и delete
Использование namespace Использование namespace