ООП
методическая разработка

для студентов

Скачать:

ВложениеРазмер
Файл oop.pptx637.52 КБ

Предварительный просмотр:


Подписи к слайдам:

Слайд 1

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

Слайд 2

Структура занятия понятие ООП; история ООП; принципы ООП (по Алану Кэю ); основные понятия; UML .

Слайд 3

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

Слайд 4

История ООП Smalltalk -80 Smalltalk – объектно-ориентированный язык программирования с динамической типизацией, основанный на идее посылки сообщений. Sketchpad – прообраз будущих CAD систем. Программа, построенная на принципах объектно-ориентированного программирования с высоким (на тот момент) уровнем человеко-машинного взаимодействия. Simula – язык общего назначения , традиционно не считается объектно-ориентированным языком , представляет расширение алгола «объектной» нотацией. Simula 67 Sketchpad Python Java Scala C++ Objective-C C# Ruby

Слайд 5

Принципы ООП Алан Кёртис Кэй Принцип 1. Все является объектом. объект – абстракция данных; объект – это отдельный представитель класса, имеющий конкретное состояние и поведение, полностью определяемое классом; объект – сущность в адресном пространстве вычислительной системы, появляющаяся при создании экземпляра класса (например, после запуска результатов компиляции и связывания исходного кода на выполнение).

Слайд 6

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

Слайд 7

Класс Принципы ООП Принцип 3. Каждый объект имеет независимую память, которая состоит из других объектов. Объект 1 Объект 2 Параметр 1 = значение 1 Параметр 2 = значение 2 Параметр 1 = значение 3 Параметр 2 = значение 4 Кластеры Кластер 1 Кластер 2 Производительность = 64 GFLOPS Количество узлов = 20 Производительность = 32 GFLOPS Количество узлов = 1 0

Слайд 8

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

Слайд 9

Принципы ООП Принцип 5 . В классе задается функциональность (поведение объекта). все объекты, которые являются экземплярами одного класса, могут выполнять одни и те же действия. Класс копилка Добавить монету Количество монет Забрать монету Проверить вместимость

Слайд 10

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

Слайд 11

Основные понятия: абстрагирование Абстрагирование – выделение значимой информации и исключение из рассмотрения незначимой.

Слайд 12

Основные понятия: инкапсуляция и сокрытие Инкапсуляция – упаковка данных и функций в единый компонент; Инкапсуляция – позволяет объединить данные и методы, работающие с ними, в классе. механизм языка, позволяющий ограничить доступ одних компонентов программы к другим; языковая конструкция, позволяющая связать данные с методами, предназначенными для обработки этих данных. Сокрытие – принцип проектирования, заключающийся в разграничении доступа различных частей программы к внутренним компонентам друг друга. Отождествление понятий Отсутствие сокрытия С++, Java , Ruby Smalltalk , Python

Слайд 13

Инкапсуляция на примере Java class A { private int a; private int b; private void doSomething () { // скрытый метод // actions } public int getSomething () { // открытый метод return a; } }

Слайд 14

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

Слайд 15

Пример наследования Человек Студент Работник ОФО ЗФО Преподаватель Лаборант Штатный Совместитель

Слайд 16

Основные понятия: полиморфизм Полиморфизм – свойство системы, позволяющее использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта. Полиморфизм – свойство родственных объектов решать схожие по смыслу задачи разными способами. Абстрактный класс Производный класс 1 Производный класс 2 Фигура Квадрат Круг вычисление площади – метод, применимый к абстрактному классу.

Слайд 17

UML в ООП UML (унифицированный язык моделирования) – язык графического описания для объектного моделирования в области разработки программного обеспечения, моделирования бизнес-процессов, системного проектирования и отображения организационных структур. Диаграмма классов ( Class diagram ) – статическая структурная диаграмма, описывающая структуру системы, демонстрирующая классы системы, их атрибуты, методы и зависимости между классами.

Слайд 18

UML в ООП Структура диаграммы класса: Имя . Имя класса выравнивается по центру и пишется полужирным шрифтом. Имена классов начинаются с заглавной буквы. Если класс абстрактный – то имя пишется полужирным курсивом. Атрибуты . Они выровнены по левому краю и начинаются с маленькой буквы. Методы . Они также выровнены по левому краю и пишутся с маленькой буквы. BankAccount owner : String balance : Dollars = 0 deposit ( amount : Dollars ) withdrawal ( amount : Dollars)

Слайд 19

Видимость в UML + Публичный ( Public) - Приватный ( Private) # Защищенный ( Protected) / Производный ( Derived ) (может быть совмещен с другими) ~ Пакет ( Package) Для задания видимости членов класса (т.е. атрибутов или методов), эти обозначения должны быть размещены перед именем участника public – внутри класса и вне класса ; private – внутри класса; protected – внутри самого класса или внутри производных классов ; package – видимость внутри пакета.

Слайд 20

Взаимосвязи в UML