Презентация на тему: » Основы объектно-ориентированного программирования (ООП)» — Транскрипт:
1 Основы объектно-ориентированного программирования (ООП)
2 программирование возникло и развивалось как процедурное программирование процедурный подход предполагает, что основой программы является алгоритм обработки данных
3 ООП – методика разработки программ, в основе которой лежит понятие объект объект – это структура, соответствующая объекту реального мира, его поведению программа в ООП представляет собой набор объектов и их взаимосвязей
4 системы объектно-ориентированного программирования (ООП) дают возможность визуализировать процесс создания графического интерфейса разрабатываемого приложения
5 взаимодействие программных объектов между собой и их изменения описываются с помощью программного кода создание программного кода в ООП базируется на использовании алгоритмических структур различных типов (линейной, ветвления, цикла), исполнителями которых выступают программные объекты
Что такое объекты в программировании?
6 программный объект объединяет в себе: описывающие его данные (свойства) средства обработки этих данных (методы)
7 Объекты (Objects) Классы объектов Программные объекты обладают свойствами, могут использовать методы и реагируют на события Классы объектов являются «шаблонами», определяющими наборы свойств, методов и событий, по которым создаются объекты Основными классами объектов являются классы, реализующие графический интерфейс проектов
8 Объект, созданный по шаблону класса объектов, является экземпляром класса и наследует весь набор свойств, методов и событий данного класса Каждый экземпляр класса имеет уникальное для данного класса имя Различные экземпляры класса обладают одинаковым набором свойств, однако значения свойств у них могут отличаться
9 Свойства объектов (Properties) Каждый объект обладает определенным набором свойств, первоначальные значения которых можно установить с использованием диалогового окна СП Значения свойств объектов можно изменять и в программном коде: Объект.Свойство := ЗначениеСвойства
10 Методы объектов (Methods) чтобы объект выполнил какую-либо операцию, необходимо применить метод, которым он обладает многие методы имеют аргументы, которые позволяют задать параметры выполняемых действий
11 Обратиться к методу объекта можно также с использованием точечной нотации: Объект.Метод
12 События (Events) Событие – действие, распознаваемое объектом Событие может создаваться пользователем (щелчок мышью или нажатие клавиши) или быть результатом воздействия других объектов В качестве реакции на событие вызывается определенная процедура, которая может изменять свойства объекта или вызывать его методы
13 Графический интерфейс необходим для реализации интерактивного диалога пользователя с работающим приложением основой для создания ГИ является форма ГИ проекта может включать в себя несколько форм
14 Форма – объект, представляющий собой окно на экране, в котором размещаются управляющие элементы Управляющие элементы – объекты ГИ, реагирующие на события, производимые пользователем или другими программными объектами
Понятие класса и объекта в ООП
15 Событийная процедура представляет собой подпрограмму, которая начинает выполняться после реализации определенного события
16 она представляет собой отдельный программный модуль, который реализует определенный алгоритм программный код событийной процедуры создается с использованием основных алгоритмических структур имя процедуры включает в себя имя объекта и имя события
17 Графический интерфейс системы программирования Delphi Окно Конструктор форм (Form1). В нем размещаются управляющие элементы Окно Программный код (Unit1.pas) Панель инструментов
18 Окно Свойства объекта (Object Inspectors). Содержит список свойств (Properties) и список событий (Events), относящихся к выбранному объекту Окно Проводник проекта (Project Manager). В нем отображены в виде дерева все составные части текущего проекта
19 Окно Дерево объектов (Object TreeView). Отображает перечень объектов, размещенных на форме
20 Этапы разработки приложения в среде Delphi Создание графического интерфейса будущего приложения Задание значений свойств объектов графического интерфейса Создание и редактирование программного кода Сохранение проекта Компиляция проекта в приложение
21 Сохранение проекта рекомендуется для каждого проекта создать отдельную папку на диске сначала нужно сохранить форму и связанный с ней программный модуль (файл с расширением pas) с помощью команды Save As… По умолчанию для файла формы предлагается имя Unit1.pas
22 далее нужно сохранить файл главного модуля, который содержит описание проекта (файл с расширением dpr) с помощью команды Save Project As…
23 Спасибо за внимание!
Источник: www.myshared.ru
Объектно-ориентированное программирование
Эта глава посвящена изучению объектно-ориентированного программирования ( ООП ). ООП — это методика разработки программ, в основе которой лежит понятие объекта, как некоторой структуры, описывающей объект реального мира, его поведение и взаимодействие с другими объектами.
9.1 Основные понятия
Основой объектно-ориентированного программирования является объект . Объект состоит из трёх основных частей:
- Имя (например, автомобиль);
- Состояние, или переменные состояния (например, марка автомобиля, цвет, масса, число мест и т. д.);
- Методы, или операции, которые выполняют некоторые действия над объектами и определяют, как объект взаимодействует с окружающим миром.
Для работы с объектами во FreePascal введено понятие класса. Класс — сложная структура, включающая в себя описание данных, процедуры и функции, которые могут быть выполнены над объектом.
Классом называется составной тип данных , членами (элементами) которого являются функции и переменные (поля). В основу понятия класс положен тот факт, что «над объектами можно совершать различные операции «. Свойства объектов описываются с помощью переменных (полей) классов, а действия над объектами описываются с помощью подпрограмм, которые называются методами класса. Объекты называются экземплярами класса.
Объектно-ориентированное программирование ( ООП ) представляет собой технологию разработки программ с использованием объектов. В объектноори-ентированных языках есть три основных понятия: инкапсуляция , наследование и полиморфизм . Инкапсуляцией называется объединение в классе данных и подпрограмм для их обработки. Наследование — это когда любой класс может быть порождён другим классом. Порождённый класс (наследник) автоматически наследует все поля, методы, свойства и события. Полиморфизм позволяет использовать одинаковые имена для методов, входящих в различные классы.
Для объявления класса используется конструкция:
= class ( имя класса родителя>)
В качестве имени класса можно использовать любой допустимый в FreePascal идентификатор . Имя класса родителя — имя класса , наследником которого является данный класс , это необязательный параметр , если он не указывается, то это означает, что данный класс является наследником общего из предопределённого класса TObject .
Структуры отличаются от классов тем, что поля структуры доступны всегда. При использовании классов могут быть члены, доступные везде — публичные (описатель public ), и приватные (описатель private ), доступ к которым возможен только с помощью публичных методов. Это также относится и к методам класса. Поля, свойства и методы секции public не имеют ограничений на видимость.
Они доступны из других функций и методов объектов как в данном модуле, так и во всех прочих, ссылающихся на него. При обращении к публичным полям вне класса используется оператор «.» (точка).
Поля, свойства и методы, находящиеся в секции private , доступны только в методах класса и в функциях, содержащихся в том же модуле, что и описываемый класс . Это позволяет полностью скрыть детали внутренней реализации класса. Вызов приватных методов осуществляется из публичных.
Публикуемый (published ) — это раздел, содержащий свойства, которые пользователь может устанавливать на этапе проектирования и которые доступны для редактирования в инспекторе объектов.
Защищенный ( protected ) — это раздел, содержащий поля и методы, которые доступны внутри класса, а также любым его классам-потомкам, в том числе и в других модулях.
Поля и методы, описанные до указания имени секции, являются публичными ( public ).
При программировании с использованием классов, программист должен решить, какие члены и методы должны быть объявлены публичными, а какие приватными. Общим принципом является следующее: «Чем меньше публичных данных о классе используется в программе, тем лучше». Уменьшение количества публичных членов и методов позволит минимизировать количество ошибок.
Поля могут быть любого типа, в том числе и классами. Объявление полей осуществляется так же, как и объявление обычных переменных:
Методы в классе объявляются так же, как и обычные подпрограммы:
function метод1 ( список параметров ) : тип результата;
Слайд 19Класс-потомок должен иметь свой конструктор
class Student: Person
int Group;
Student(string N, string A, int Y, int G): base (N,
A, Y)
Group = G;
>
>
Слайд 20class Professor: Person
string Kafedra;
Слайд 30class DecToBin : DecTo
public
DecToBin() : base («01»);
>
: DecTo
public DecToOct(): base («01234567»);
>
class DecToHex : DecTo
public DecToHex(): base(«0123456789ABCDEF»);
>
Слайд 31class Program
static void Main()
int D;
Console.WriteLine(«Input value in 10 system:»);
D = Convert.ToInt32(Console.ReadLine());
Console.WriteLine();
DecToBin P1 = new DecToBin();
DecToOct P2 = new DecToOct();
DecToHex P3 = new DecToHex();
Console.WriteLine(«2 system -> » + P1.Trans(D));
Console.WriteLine(«8 system -> » + P2.Trans(D));
Console.WriteLine(«16 system -> » + P3.Trans(D));
Console.ReadKey();
>
>
Слайд 32Результаты работы программы:
Слайд 33Основные концепции ООП
Система состоит из объектов
Объекты взаимодействуют
между собой, могут быть связаны отношением наследования
Каждый объект характеризуется
своим состоянием и поведением
Состояние объекта задается значениями полей данных
Поведение объекта задается методами
Дочерние классы наследуют поля и методы своего родительского класса, с возможностью добавления новых свойств и методов
Есть возможность переопределить в дочернем классе некоторые методы( не виртуальные методы переопределять не рекомендуется! )
Слайд 34Проверочная работа № 1
I вариант
Базовый класс Товар (поля Название, Цена,
Производитель), дочерний класс Продукт (доп. поле Срок реализации — дней)
II
вариант
Базовый класс Автомобиль (поля Производитель, Модель, Год выпуска), дочерний класс Автобус (доп. поле Вместимость)
Слайд 35План работы:
Описать поля базового класса
Описать конструктор базового класса
Описать метод Show
для вывода на экран значений полей
Описать метод Get, возвращающий значение
одного из полей
Аналогично для дочернего класса
В главной функции создать по 1 объекту каждого класса
Показать вызов методов
Источник: theslide.ru