Содержание
-
Введение в объектно-ориентированное программирование
-
Процедурное программирование предполагает, что основой программы является алгоритм ипроцедура обработки данных. Процедурное программирование Процедура обработки данных Алгоритм
-
Объктно-ориентированное программирование (ООП) – это методика разработки программ, в основе которой лежит понятие объект. Объект Имя объекта Состояния (свойства) Методы (операции) Объектхарактеризуется совокупностью всех своих свойств и их текущих значений, а также связанных с ними допустимыми для данного объекта действий.
-
Отрезок Координаты начала отрезка (x1,y1) Координаты конца отрезка (x2,y2) Перемещение Объект Метод Свойство Свойство
-
Свойство - определяющая характеристика объекта, которая влияет на то,как будет выглядеть компонент, а также на его поведение. Событие – это то, что происходит в реальном времени и может вызывать те или иные ответные действия. Методы – это способы, которыми объект может реагировать на те или иные действия.
-
Класс Описание данных Процедуры и функции Описание класса - включает, помимо описания данных, описания процедур и функций, которые могут выполняться над представителем класса – объектом. Класс - это категория объектов или методов, обладающих одинаковыми свойствами и поведением.
-
Пример объявления простого класса
Tperson = class private fname : string[15]; faddress : string[35]; Public ProcedureShow ; end; поля имя метода Имена полей должны начинаться с буквы f (field - поле) имя класса Имя класса должно начинаться с буквы T.
-
ОБЪЕКТ
ОБЪЕКТЫ, как представители класса, объявляются в разделе var. Например: Var student : Tperson; professor : Tperson;
-
Конструктор
В Delphi объект – это динамическая структура. Переменная объект содержит не данные, а ссылку на данные объекта. Поэтому программист должен позаботиться о выделении памяти для этих данных. Выделение данных осуществляется с помощью специального метода класса – конструктора, которому присваивают имя Create (создать).
-
Описание класса с конструктором
Tperson = class private fname : string[15]; faddress : string[35]; constructor Create; Public ProcedureShow ; end; конструктор
-
Реализация конструктора
Помимо выделения памяти, конструктор решает задачу присваивания полям объекта начальных значений. Пример реализации конструктора для объекта Tperson: constructor Tperson.Create; begin fname := ‘ ‘; faddress := ‘ ‘; end;
-
МЕТОД - процедура, которая определена как часть класса и содержится в нем. Как ОБЪЕКТЫ, так и МЕТОДЫ подразделяются на классы. МЕТОДЫ
-
ООП характеризуется тремя основными свойствами
Наследование Полиморфизм Инкапсуляция
-
– это механизм, который объединяет данные и методы в одном объекте и защищает их от внешнего вмешательства и неправильного использования. Применение данного принципа помогает локализовать возможные ошибки в коде программы Инкапсуляция
-
Наследование – процесс, посредством которого один объект может наследоватьсвойства другого объекта и добавлять к ним черты, характерные только для него.
-
Точка Отрезок отрезок x y Точка1 Точка2 Перемещаемый Отрезок Перемещение Предок Потомок точки Потомок отрезка Метод
-
Смысл и универсальность наследования заключается в том, что не надо каждый раз заново описывать новый объект, а можно указать «родителя» (базовый класс) и описать отличительные особенности нового класса. В результате новый объект будет обладать всеми свойствами родительского класса плюс своими собственными отличительными особенностями.
-
Описание типа потомка: = Object(); Наследование относится только к типам, но не экземплярам объекта. Например, родительский объектный тип - «выпуклый четырехугольник» (поля типа «координаты вершин») и типы, им порожденные: параллелограмм, ромб, квадрат. FourAngle=Object x1,x2,x3,x4 : BaseType; Parall = Object(FourAngle);
-
ПримерПусть имеется родительский объектный тип «выпуклый четырехугольник» (заданный координатами вершин: x1,y1, x2,y2, x3,y3, x4,y4) и типы, им порожденные: параллелограмм, ромб, квадрат, трапеция.
Базовый тип
-
Описание объекта в Турбо Паскале Для описания объекта служит слово Object. Тип Object - это структура, которая содержит поля и методы. Type= Object; ; . . . . ; ; . . . . . ; End;
-
Под методами объекта понимают процедуры и функции, объявление которых включены в описание объекта и которые выполняют действия. Procedure 1 Procedure 2 Function 1 Procedure 3
-
Пример описания объекта TypeNatur=1 . . 32767; Frac = Record P : Integer; // числитель Q: Natur // знаменатель End; Drob = Object A : Frac; ProcedureNOD (Var C:Natur); Procedure Sokr; ProcedureStepen(N : Natur; Var C : Frac); End; Описаниеобъекта «обыкновенная дробь» с методами «НОД числителя и знаменателя», «Сокращение» и «Натуральная степень».
-
Если к описанию объекта «Дробь» добавить методы ввода и вывода дроби: Procedure Vvod; Procedure Print; то основная программа будет выглядеть так: VarZ: Drob; F: Frac; Begin Z . Vvod; // ввод дроби Z . Print;// печать введенной дроби Z . Sokr; //сокращение введенной дроби Z . Print;//печать дроби после сокращения Z . Stepen (4, F); //возведение дроби в 4-ю степень WriteLn(F . P, ’/’ F . Q) End.
-
Комментарии к примеру: Реализация методов осуществляется в разделе описаний, после объявления объекта, причем при реализации метода достаточно указать его заголовок без списка параметров, но с указанием объектного типа, методом которого он является. Например: Procedure Drob . Stepen; Все действия над объектом выполняются только с помощью его методов. Для работы с отдельным экземпляром переменных должна быть объявлена переменная соответствующего типа. В нашем примере это переменная Z: Drob;
-
Полиморфизм – свойство, которое позволяет метод с одним именем применять к различным родственным объектам. Идея полиморфизма – «один интерфейс – множество методов»
-
ПримеромПолиформизмаможет служить перемещение по экрану геометрической фигуры. Но для каждого конкретного объекта составляется подпрограмма, выполняющая это действиенепосредственно для данного объекта, причем все эти подпрограммы могут иметь одно и то же имя. Когда потребуется перемещать конкретную фигуру, будет выбрана из всего класса соответствующая подпрограмма.
-
ООП Ориентировано на .. объект Имеют Свойства Методы События Объединяются в классы Процедуры обработчиков событий Содержит набор … Программа (проект) в ООП Отвечают на
-
Выводы 1. Использование ООП к небольшим программам неэффективно. 2. Но при создании больших программ имеет ряд преимуществ: Использование более естественных понятий, простота введения новых понятий. Некоторое сокращение размеров программ за счет того, что наследуемые свойства можно многократно не описывать. Возможность создания библиотеки объектов. Возможность внесение изменений в программу без изменения уже написанных частей.
-
Более четкая локализация свойств и поведения объектов в одном и том же месте (свойство инкапсуляции) , позволяющей проще разобраться со структурой программы и находить ошибки. Возможность написания подпрограмм с различными наборами формальных параметров, но имеющих одно и тоже имя, используя свойство полиморфизма. Возможность разделения доступа к различным объектам программы.
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.