ООП Лекция №1

Preview:

Citation preview

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

Лекцию проводит

кандидат технических наук

ЮШИНИН Сергей Юрьевич

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

Лекция №2

1. Общий синтаксис объявления свойства

property Active: boolean read FActive write SetActive;

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

2.1. Объектная декомпозиция

Свойства (Properties)

Методы (Methods)

Обработчики событий (Events handlers)

Установки при проектировании

События

События от других объектов

Вызов методов

Установка свойств

Вызов методовУстановка свойств

2.2. Принципы ООП 2.2.1. Абстрагирование

Абстракция фокусируется на существенных с точки зрения наблюдателя характеристиках объекта

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

Классификация

Классификация есть средство упорядочение знаний

Класс – это структурный тип данных, который включает описание полей данных, а также методов (процедур и функций), работающих с этими полями.

2.2.2. Инкапсуляция

Инкапсуляция скрывает детали реализации объекта

Интерфейс – это совокупность доступных извне характеристик состояния и поведения объекта. Реализация – это совокупность недоступных извне алгоритмов поведения объекта.

Инкапсуляция - это процесс отделения друг от друга элементов объекта, определяющих его устройство и поведение.

2.2.3. Иерархия

Абстракции образуют иерархию

а) наследование б) включение

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

2.2.4. Полиморфизм (многообразие)

1. Чистый полиморфизм

2. Перегрузка процедур (функций)

3. Переопределение (перекрытие)1. Простой полиморфизм

2. Сложный полиморфизм

2.2.5. Модульность

Модульность позволяет хранить абстракции раздельно

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

3. Объектная модель Delphi

3.1. Синтаксис объявления класса

type <имя_нового_класса>=class (<имя_наследуемого_класса>) private // частные элементы класса protected // защищенные элементы класса public // общедоступные элементы класса published // опубликованные элементы класса end;

type TMyClass = class ... end; type TMyClass = class(TObject) ... end;

Пример:

3.2. Конструкторы и деструкторы

Создание и разрушение объекта:

var Phone:TPhone; begin Phone= TPhone.Create; // Код работы с объектом if Assigned(Phone) then Phone.Destroy; end;

3.4. Методы и виды полиморфизма

TPhone=class(TObject) procedure Incoming; // входящий звонок procedure Ring; // звонить procedure HandUp; // ответить (снять трубку) end;

TRoomPhone=class(TPhone)// комнатный телефон procedure Incoming; // входящий звонок procedure Ring; // звонить procedure HandUp; // ответить (снять трубку) end; TCellPhone=class(TPhone) // мобильный телефон procedure Incoming; // входящий звонок procedure Ring; // звонить procedure HandUp; // ответить (снять трубку) end;

3.4.2. Виртуальные методы и сложный полиморфизм

TPhone=class(TObject) procedure Incoming; // входящий звонок procedure Ring; virtual;// виртуальный метод procedure HandUp; // ответить (снять трубку) end; TRoomPhone=class(TPhone) // комнатный телефон procedure Ring; override; // переопределенный метод procedure HandUp; // ответить (снять трубку) end; TCellPhone=class(TPhone) // мобильный телефон procedure Ring; override; // переопределенный метод procedure HandUp; // ответить (снять трубку) end;

3.4.4. Абстрактные методы

TPhone=class(TObject) procedure Incoming; // входящий звонок procedure Ring; virtual; // звонить procedure HandUp; virtual; abstract; // как-то ответить end; TRoomPhone=class(TPhone) // комнатный телефон procedure Ring; override; // звонить procedure HandUp; override; // ответить с комнатного end; TCellPhone=class(TPhone) // мобильный телефон procedure Ring; override; // звонить procedure HandUp; override; // ответить с мобильного end;

Краткие итоги лекции

1. Объектно-ориентированное программирование представляет собой естественную и эффективную методологию разработки программ.

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

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

Recommended