Основные понятия и принципы объектно-ориентированного программирования

Автор работы: Пользователь скрыл имя, 20 Мая 2013 в 23:22, реферат

Краткое описание

Метод – это процедура, которая реализует возможные с объектом действия. Метод рассматривается как программный код, связанный с определенным объектом, который осуществляет преобразование свойств, изменяет поведение объекта.
Событие – это средство взаимодействия объектов друг с другом. События могут генерироваться системой – внутренние события или пользователем – внешние события. Например, щелчок мышью или нажатие клавиши на клавиатуре – внешние события; загрузка или выгрузка формы – внутренние события. С каждым событием связана процедура, в которую может быть помещен текст программы. Эта процедура выполняется только при наступлении данного события.

Прикрепленные файлы: 1 файл

ЛЕКЦИИ ООП ИТО-09 ИСТ-09_2.doc

— 135.00 Кб (Скачать документ)
        • Документация. Использование того или другого типа данных объясняет намерения программиста.

 

Классификация типов данных.

  • Простые типы данных.

Перечислимый тип может хранить только те значения, которые прямо указаны в его описании.

Числовые типы: хранятся числа, могут применяться обычные арифметические операции:

  • целочисленные;
  • вещественные;
  • числа произвольной точности, обращение с которыми происходит посредством длинной арифметики. Примером языка с встроенной поддержкой таких типов является UBASIC, часто применяемый среди криптографов.

Символьный тип хранит один символ. Могут использоваться различные кодировки.

Логический тип имеет два значения: истина и ложь. При троичной логике может иметь и третье значение – «не определено» (или «неизвестно»). Могут применяться логические операции.

Множество. В основном совпадает с обычным математическим понятием множества. Допустимы стандартные операции с множествами и проверка на принадлежность элемента множеству. В некоторых языках рассматривается как составной тип.

  • Составные (сложные) типы данных.

Массив является индексированным набором элементов одного типа. Одномерный массив – вектор, двумерный массив – матрица.

Строковый тип хранит строку символов. Аналогом сложения в строковой алгебре является конкатенация (прибавление одной строки в конец другой строки). В языках, близких к бинарному представлению данных, чаще рассматривается как массив символов, в языках более высокой абстракции зачастую выделяется в качестве простого.

Запись (структура) – набор различных элементов (полей записи), хранимый как единое целое. Возможен доступ к отдельным полям записи.

Файловый тип. Хранит только однотипные значения, доступ к которым осуществляется только последовательно (файл с произвольным доступом, включённый в некоторые системы программирования, фактически является неявным массивом).

Класс.

  • Другие типы данных. Если описанные выше типы данных представляли какие-либо объекты реального мира, то рассматриваемые здесь типы данных представляют объекты компьютерного мира, то есть являются исключительно компьютерными терминами:
  • указатель хранит адрес в памяти компьютера, указывающий на какую-либо информацию, как правило – указатель на переменную;
  • ссылка.

 

Процесс проверки и накладывания ограничений  типов – контроль типов – может выполняться во время компилирования (статическая проверка) или во время выполнения (динамическая проверка).

Проверки типов данных, выполняемые на этапе компиляции, используют только сам код программы. Преимуществом статической типизации является то, что такую проверку достаточно выполнить только один раз. Если проверкой установлено, что типы данных в программе удовлетворяют некоторому условию, то это будет выполняться для всех дальнейших запусков программы. Кроме того, отсутствие проверок, выполняемых на этапе выполнения программы, и знание всех типов данных на этапе компиляции позволяет сделать скомпилированную программу более эффективной.

Статическая типизация позволяет  находить ошибки типизации, допущенные в редко используемых ветвях логики программы, на этапе компиляции.

Статическая типизация используется в большинстве компилируемых  языков программирования.

Динамическая типизация означает, что большая часть проверок типов данных выполняется на этапе выполнения программы, хотя некоторые проверки (например, проверка синтаксической корректности кода) выполняются на этапе компиляции. Кроме того, типы данных ассоциируются с конкретными значениями, а не с переменными.

Динамическая типизация позволяет  создавать более гибкое программное  обеспечение, хотя и ценой большей  вероятности ошибок типизации. Модульное  тестирование приобретает особое значение при разработке программного обеспечения на языках программирования с динамической типизацией, так как оно является единственным способом нахождения ошибок типизации, допущенных в редко используемых ветвях логики программы.

 

Контроль типов также может  быть строгим и слабым.

Строгая типизация – совместимость типов автоматически контролируется транслятором. Строгая типизация обычно означает, что язык программирования задает некоторые ограничения на смешение операций над разными типами данных.

Слабая типизация –  совместимость типов никак транслятором не контролируется.

 

 

Понятие библиотеки в программировании.

 

Библиотека в программировании – сборник готовых подпрограмм или объектов, используемых для разработки программного обеспечения (ПО).

С точки зрения операционной системы (ОС) и прикладного ПО библиотеки разделяются на динамические и статические.

Статические библиотеки могут существовать в виде исходного текста, подключаемого программистом к своей программе на этапе написания, либо в виде объектных файлов, присоединяемых (линкуемых) к исполняемой программе на этапе компиляции (в Microsoft Windows такие файлы имеют расширение .lib). Например, для языка Fortran существует огромное количество библиотек для решения разных задач именно в исходных текстах. В результате программа включает в себя все необходимые функции, что сохраняет её автономность, но увеличивает размер.

Динамические библиотеки – часть основной программы, которая загружается в ОС по запросу работающей программы в ходе её выполнения, т.е. динамически (Dynamic Link Library, DLL в Windows). Один и тот же набор функций (подпрограмм) может быть использован сразу в нескольких работающих программах, из-за чего они имеют ещё одно название – библиотеки общего пользования (Shared Library).

Динамические библиотеки могут  содержать в себе как критические для работы программы части, так и дополнительные функции. Дополнительным плюсом такого подхода является то, что динамическая библиотека может быть использована в качестве плагина (Plug-in), расширяющего функциональность программы. Минусом является то, что в случае, если модуль, который содержит в себе критическую часть, отсутствует, программа не сможет продолжить работу.

Динамические библиотеки хранятся обычно в определенном месте и  имеют стандартное расширение. В Microsoft Windows файлы библиотек общего пользования имеют расширение .dll.

При написании программы программисту достаточно указать транслятору  языка программирования, что следует  подключить нужную библиотеку и использовать функцию из неё. Ни исходный текст, ни исполняемый код функции в состав программы на данном этапе не входит.

 

Таким образом, библиотека DLL представляет собой коллекцию подпрограмм, которые могут быть вызваны на выполнение приложениями или подпрограммами из других библиотек. Подобно модулям, библиотеки DLL содержат разделяемый (sharable) код или ресурсы. Однако, в отличие от модулей, библиотеки содержат отдельно откомпилированный исполняемый код, который подключается к приложению динамически на этапе его выполнения, а не компиляции. Также важным отличием является то, что DLL не в состоянии поставлять в программу переменные, константы и типы, ведь создатели DLL могут использовать не типизированные языки программирования, например, язык ассемблера.

Недостатком использования библиотек  является то обстоятельство, что приложение не является самодостаточным и зависит от наличия отдельного файла (файлов) библиотеки. В случае отсутствия статически загружаемой библиотеки система прерывает компиляцию приложения и выводит сообщение об ошибке. В случае отсутствия динамически загружаемой библиотеки приложение не прерывается, но функции библиотеки являются, разумеется, недоступными для него.

 

Как набор DLL-библиотек реализован интерфейс прикладных программ Microsoft Win32 Application Programming Interface – API.

Функции API позволяют организовать интерфейс между прикладной программой и средой, в которой работает эта программа. Вызов функций API позволяет программе получать доступ к ресурсам среды и управлять ее работой. Как правило, API задает стандарт взаимодействия среды и прикладной программы.

Win32 – это название интерфейса, ориентированного на 32-х разрядные  приложения. Функции, составляющие этот интерфейс, позволяют прикладной программе получать доступ к ресурсам операционной системы и управлять ее работой. Любое из приложений, работающее в среде Windows, прямо или косвенно вызывает функции, входящие в Win32 API.

Функции, составляющие Win32 интерфейс, организованы в виде нескольких динамически  подключаемых библиотек (DLL) и исполняемых файлов. Говоря о Win32 API, следует в первую очередь упомянуть три основные библиотеки:

  1. Kernel32.dll. Эта библиотека предназначена для работы с объектами ядра операционной системы, и ее функции позволяют управлять памятью и другими системными ресурсами.
  2. User32.dll. Здесь сосредоточены функции для управления окнами – основным видом объектов операционной системы. Обработка сообщений, работа с меню, таймерами – все это выполняют функции этой DLL.
  3. GDI32.dll. Это библиотека, обеспечивающая графический интерфейс операционной системы (Graphics Device Interface). Функции управления выводом на экран дисплея, управления выводом принтера, функции для работы со шрифтами – все они входят в состав этой библиотеки.



Информация о работе Основные понятия и принципы объектно-ориентированного программирования