История развития C для операционных систем. Его графика и пользовательские интерфейсы. Объектно-ориентированное программирование. Бинарные и унарные операторы. Правила определения операторных функций. Использование языка UML и диаграммы классов.
Средства перегрузки операторов и возможность помещения объявлений в любом месте, где может быть записана инструкция Algol68
Шаблоны Ada, параметризованные модули в Clu
Механизм обработки исключений Ada, Clu, ML
Множественное наследование, чисто виртуальные функции, пространства имен Опыт использования C
2. Использование C
На C написаны операционные системы (полностью или частично).
Эффективность позволяет использовать C для написания драйверов и других программ, предназначенных для работы в реальном времени.
Малый объем требуемой памяти.
Связь с ассемблером.
Как правило, ключевыми аспектами являются удобство сопровождения, расширяемость и простота тестирования. Эти свойства C привели к его широкому использованию в областях, где совершенно необходима надежность, а также там, где требования к программам значительно меняются со временем (банковское дело, торговля, страхование, телекоммуникации, военные приложения).
На C решается множество численных, научных и инженерных задач. (Причина этого в том, что традиционные численные задачи должны совмещаться с графикой и вычислениями, связанными со структурами данных, которые не укладываются в традиционный Фортран.)
Графика и пользовательские интерфейсы - области интенсивного использования C .
С возможно эффективно использовать в программах, предназначенных для широкого диапазона прикладных областей.
(Так, приложение, включающее в себя доступ к локальной и глобальной сетям, численные расчеты, графику, интерактивное взаимодействие с пользователем и обращение к базе данных, может быть написано целиком на С . Традиционно эти области считались раздельными и обслуживались с использованием разных языков программирования.)
С может сосуществовать с фрагментами кода и программами, написанными на других языках.
C широко используется для обучения и исследований (моделирующие программы), т.к. он: Реализация C : Для PC, Windows: Microsoft Visual C 6.0, 7.0, Borland C .
Для UNIX-систем это - системный компилятор GNU v3.XX.
3. ООП
В окончательном виде любая программа представляет собой набор инструкций процессора. Все, что написано на любом языке программирования, - более удобная, упрощенная запись этого набора инструкций, облегчающая написание, отладку и последующую модификацию программы. Чем выше уровень языка, тем в более простой форме записываются одни и те же действия. Например, для реализации цикла на ассемблере нужно записать несколько инструкций, позаботившись о размещении переменных в регистрах, а в C или Паскале для этого достаточно одного оператора.
С ростом объема программы становится невозможным удерживать в памяти все детали, и становится необходимым структурировать информацию, выделять главное и отбрасывать несущественное. Этот процесс называется повышением степени абстракции программы.
Первым шагом к повышению абстракции является использование функций, позволяющее после написания и отладки функции отвлечься от деталей ее реализации, поскольку для вызова функции требуется знать только ее интерфейс.
Следующий шаг - использование модулей. Модуль - это набор связанных процедур вместе с данными, которые они обрабатывают. При этом программа структурируется и информация группируется. Извне модуля информация видна в более естественном виде. Например, можно представлять в одном модуле все разнородные сведения, относящиеся к фигуре, вычерчиваемой на экране (положение, размер, ориентация (угол поворота), цвет).
Для работы с этими данными требуются специальные функции (напрмер переместить, повернуть, сменить цвет, прочертить). Они помещаются вместе с данными в модуль.
При этом для использования этих данных и функций не требуется полного знания того, как именно они написаны - необходимы только описания интерфейсов.
Эти методы повышения абстракции преследуют цель упростить структуру программы, то есть представить ее в виде меньшего количества более крупных блоков и минимизировать связи между ними. Это позволяет управлять большим объемом информации и, следовательно, успешно отлаживать более сложные программы.
Введение понятия класса является развитием идей модульности. В отличие от модуля, где описываются данные, в классе описыватся тип данных. Тот, кто использует модуль, работает с одной копией данных (одна фигура). Тот, кто использует класс, сам создает столько копий данных (фигур), сколько ему требуется.
В классе описания структур данных и функции их обработки объединяются. Класс используется только через его интерфейс - детали реализации для пользователя класса несущественны. Идея классов отражает строение объектов реального мира - ведь каждый предмет обладает свойствами (данные) и поведением (функции). Программы часто предназначены для моделирования предметов, процессов и являений реального мира, поэтому в языке программирования удобно иметь адекватный инструмент для представления моделей.
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы