
- •1.Поколения языков программирования. Системы программирования. Уровни языков программирования. Классификация и сравнительный анализ языков высокого уровня
- •3.Этапы разработки программного обеспечения
- •6.Модуль и его структура. Основные типы модулей в инструментальной системе Delphi.
- •7.Типовые алгоритмы, используемые в программировании. Средства организации типовых алгоритмов в языке программирования Object Pascal
- •8.Организация ввода/вывода в Object Pascal.
- •9.Организация класса, объекта. Фундаментальные признаки объектно-ориентированного программирования.
- •10.Визуальное проектирование Windows-приложений в инструментальной системе Delphi … Обработчики событий
- •11.Типизация данных. Система типов в языке программирования Object Pascal
9.Организация класса, объекта. Фундаментальные признаки объектно-ориентированного программирования.
Класс – в объект паскаль спец типы содержащие поля, методы и свойства. А делфи это функционально законченные фрагменты программ, служащих образцами для создания подобных себе экземпляров.
Объект – экземпляр класса. Отличием классов от др типов является то, что объекты класса всегда располагаются в куче, т е объект переменной представляет собой указатель на динамическую область памяти.
Компонент – это объект размещаемый на пользовательском интерфейсе приложения или любой объект палитры компонента Делфи – фактически это фрагмент кода.
Type myclass=class(TObject);
В основе классов лежат 3 принципа объектно-ориентированного программирования:
- инкапсуляция
- наследование
- полиморфизм
Класс представляет собой единство 3х Сущностей: поля, методы и свойства, объединение сущностей в одно целое наз инкапсуляция . И. даёт возможность обмена готовыми для работы программные заготовки.
Наследование – любой класс можно породить от родителя , потомок автоматически наследует поля, методы и свойства, и может дополнять их новыми.tobject не имеет полей и свойств, только методы общего назначения. Принцип наследования приводит к разветвлённому дереву классов. Дерево идёт от вершины tobject к потомку.
Type
TChild=class(TParent)
Полиморфизм – свойства классов решать схожие по смыслу проблемы разными способами обеспечивая это перекрытием методов потомка, т е объявить в потомке одноименный метод и реализовать в нём нужные действия. В результате в объектах родители и потомки будут действовать два одноименных метода имеющие разные алгоритмы и придающие объекту разные свойства это и есть полиморфизм. Может быть статическим (на этапе компиляции) и динамические (программой).П. можно достичь виртуализацией. Он позволяет род-им методам обращаться к методам своих потомков.
Составляющие класса: Поля – это инкапсулированные в классе данные, Методы – это инкапсулированные в классе процедуры и функции.
Реализация класса в ОР.
TChild=class(TParent)
ifield:integer;
istr:strig;
……
Procedure rread;
Function f(t:integer);
property
end;
Свойства –это спец механизм класса регулирующий доступ к полям-property
Имеется 4 секции видимости (определяют области видимости элемента описания класса) – определяют зарезервированные слова
(структура описания класса)
published – секция с декларированными данными - опубликованные описания (нет ограничений по видимости, но в секции перечисляются свойства, к-ые должны быть доступны не только на этапе исполнения, но и на этапе конструирования проекта через инспектор объектов, в основном использ для разр-ки новых компонентов, в нее среда D помещает описание вставл-х на форму компонентов)
private- личные – частные описания (личные элементы описания доступны только внутри методов данного класса и в подпрограммах где описан, элемент не доступен даже ближайшим потомкам)
protected – защищенные описания (доступно элементам, методам данного класса и его потомкам не зависимо от модуля в к-ом находится)
public – доступные (не накладываются ограничения на область видимости, перечисляемых в ней полей, методов и свойств, т е эти составляющие можно вызывать из любого модуля программы)
2 метода конструктор и деструктор: 1-распред-т объект в динамической памяти и помещает адрес этой памяти в перменную со стандартным именем Self, которая авт-ки объявляется в классе; 2 –удаляет объект из кучи (освоб дин память). Обращение к констр-ру обязательно до любого обращения к полям и некоторым методам объекта. Констр и дестр являются процедурами, но объявляются с помощью зарезервированных слов.