Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции програм_new_последняя версия1.doc
Скачиваний:
14
Добавлен:
14.09.2019
Размер:
697.34 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Казанский федеральный университет

Кафедра информатики и вычислительных технологий

Объектно-ориентированное программирование в Delphi.

Автор:

Доцент, кандидат физ.-мат. наук

Широкова О. А.

Объектно-ориентированная парадигма программирования.

Парадигма – означает модель постановки проблем и их решения, господствующие в течении определенного исторического периода в научном сообществе.

Основными парадигмами программирования являются:

  • Процедурное программирование. Основная идея этого стиля – алгоритмизация процесса решения задачи и выбор наилучшего алгоритма (по расходу памяти или по быстродействию).

Процедурное программирование – это методология, предполагающая, что основой программы является алгоритм, процедура обработки данных. Проектирование программы осуществляется по принципам структурного программирования «сверху-вниз».

Реализация идеи процедурного программирования началась с 1957 года с появлением алгоритмических языков Fortran и затем Algol-60, затем – Basic, Pascal, C.

  • Объектно-ориентированное программирование. С середины 80-х годов объем исходного программного кода перешел рубеж в 100 000 строк. Нужно было сделать не случайное объединение данных и алгоритмов их обработки в единое целое, а - смысловое. То есть необходимо было создать модульное программирование нового уровня, когда основной акцент делается на смысловую связь структур данных и алгоритмов их обработки. Сейчас практически все основные языки программирования (их более 100, в том числе такие распространенные, как Object Pascal, C++, Smalltalk) базируются на этой идее.

  • Логическое программирование (язык Пролог и др.).

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

Основными этапами объектно-ориентированного программирования являются:

  1. Объектно-ориентированный анализ (ООА)

  2. Объектно-ориентированное проектирование (ООПр)

  3. Объектно-ориентированное программирование (ООП)

Это совершенно новый подход построения программ и систем. В ООА, ООПр и ООП главной отправной точкой является не процедура, а объект.

Объектно-ориентированный анализ

ООА – это методология, при которой требование к системе воспринимается с точки зрения классов и объектов, выявленных в предметной области.

В процессе ООА обнаруживаются классы и объекты, которые составляют словарь предметной области. ООА предполагает, что все вещи обладают некоторым свойством или свойствами.

Объектно-ориентированное программирование.

ООП – это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.

В данном определении выделим 3 части:

  1. ООП использует в качестве базовых элементов объекты, а не алгоритмы.

  2. Каждый объект является экземпляром какого-либо определенного класса.

  3. Классы организованы иерархически.

Программа является объектно-ориентированной только при соблюдении всех трех указанных требований. Например, программирование не основанное на иерархических отношениях, не относится к ООП. Оно называется программированием на основе абстрактных типов данных, поэтому не все языки программирования, удовлетворяющие только 1 и 2, являются ОО языками.

Объектно-ориентированное проектирование.

ОО программирование (ООП) подразумевает правильное и эффективное использование механизмов конкретных языков программирования.

ОО проектирование (ООПр) в отличие от него основное внимание уделяет правильному и эффективному структурированию сложных систем.

ООПр – это методология проектирования, соединяющая в себе процесс объектной декомпозиции и приемы представления логической и физической, а также статической и динамической моделей проектируемой системы.

В этом определении содержатся 2 главных части:

  1. ООПр основано на ОО декомпозиции

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

Именно ОО декомпозиция отличает ООПр от структурного процедурного проектирования.

В 1-м случае логическая структура системы отражается классами и объектами

В 2-м случае логическая структура системы отражается алгоритмами.

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

ООПр использует следующие базовые понятия:

  1. Объект.

  2. Свойства объекта.

  3. Метод обработки.

  4. Событие.

  5. Класс объектов.

Объект – это совокупность свойств (параметров) определенных сущностей и методов их обработки, а так же событий, на которые он может реагировать.

Объект содержит инструкции (программный код, программа), определяющие действия, которые может выполнять объект, а так же обрабатываемые данные.

Свойство объекта – это характеристика объекта. Все объекты наделены определенными свойствами, которые в совокупности выделяют объект из множества других объектов.

Т.о. объект обладает качественной определенностью, что позволяет выделить его из многих других объектов и обуславливает независимость его создания и обработки от других объектов.

Метод – это программа действий над объектом или его свойствами. Объект может обладать набором заранее определенных, встроенных методов обработки, либо созданных пользователем, либо заимствованных из стандартных библиотек. Методы выполняются при наступлении заранее определенных событий, например, нажатия левой кнопки мыши, нажатия клавиши и т.д.

Событие – это изменение состояния объекта. Внешние события генерируются пользователем (нажатие кнопки мыши). Внутренние события – генерируются системой.

Объекты объединяются в классы.

Класс – это совокупность объектов, которые характеризуются общностью применяемых методов обработки или свойств. Класс – это абстрактное понятие, сравнимое с понятием категории.

Например, студент – это категория. Каждый человек или является студентом, или не является студентом. Этого признака достаточно, чтобы решить вопрос к какой категории принадлежит индивидуум.