Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Технология программирования / ИТ / Лекции_Технология_прогр.doc
Скачиваний:
115
Добавлен:
17.05.2015
Размер:
848.38 Кб
Скачать

§2. Модульное и объектно-ориентированное программирование

Оглядываясь на историю развития программирования, нельзя не заметить две тенденции:

  • смещение акцентов от программирования отдельных деталей к программированию более крупных компонентов;

  • смещение акцентов от структур алгоритмов к структурам данных.

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

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

Основным элементом системы выступал алгоритм, реализованный на языке программирования. Методы структурного проектирования и программирования состояли в последовательной детализации задачи «сверху вниз», определяя на каждом этапе новые детали алгоритма. Таким образом, алгоритмы были основными строительными блоками проекта.

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

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

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

Основные понятия ооп

В этом разделе мы рассмотрим следующие понятия: класс, объект, поле, метод и свойство.

Классом называется особый тип записи, который может иметь в своем составе поля, методы и свойства. Такой тип называется объектным типом. Например, так выглядит описание класса, содержащего поле MyField целочисленного типа и метод MyMethod, дающий целочисленный результат:

type

TMyObject = class(TObject)

MyField : integer;

Function MyMethod : integer;

end;

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

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

У каждого класса наряду с методами, присущими только ему, должны присутствовать два общих метода – конструктор и деструктор.

Конструктор предназначен для выделения памяти объекту и инициализации его свойств. Общепринято называть конструктор Create. Новый класс порождается от какого-либо класса-предка. Для того чтобы правильно проинициализировать в создаваемом объекте поля, относящиеся к классу-предку, следует сразу же при входе в конструктор вызвать конструктор предка:

Constructor TMyObject.Create

begin

inherited Create;

end;

Деструктор выполняет обратное конструктору действие – уничтожает объект и освобождает выделенную ему память. Стандартное название деструктора – Destroy.

На первых порах вам почти не придется включать в свои программы явный вызов конструкторов и деструкторов. Дело в том, что любой компонент, попавший при визуальном программировании в ваше приложение из Палитры компонентов, включается в определенную иерархию. Иерархия эта замыкается на форме (TForm): для всех ее составных частей конструкторы и деструкторы вызываются автоматически, незримо для программиста. Создает и уничтожает формы приложение (глобальный объект с именем Application). В файле проекта (.dpr) вы можете увидеть вызов метода CreateForm, предназначенного для этой цели. Что же касается объектов, создаваемых динамически (во время выполнения приложения), то здесь нужен явный вызов конструктора.

Соседние файлы в папке ИТ