SlideShare a Scribd company logo
1 of 18
ПРИНЦИПЫ ОБЪЕКТНОЙ МОДЕЛИ
Понятие объектной модели Объектно-ориентированная технология основывается на так называемой  объектной модели . Основные принципы объектной модели: - абстрагирование, инкапсуляция, модульность, иерархичность Второстепенные принципы: - типизация, параллелизм, сохраняемость
АБСТРАГИРОВАНИЕ Это процесс выделения* сущности** из предметной области. * выделение — отделение от главного частностей. * сущность — объект, предмет, человек и т.д. Абстракция определяет  интерфейс  класса. Интерфейс отражает внешнее поведение объекта.
ПРИМЕР АБСТРАКЦИИ ,[object Object]
Сущность — карта.
Интерфейс класса “Карта” содержит методы: ,[object Object]
считать масть,
считать значение.
ПРИМЕР ПЛОХОЙ АБСТРАКЦИИ ,[object Object]
Нет класса “Карта”.
Вместо этого класса есть 2 массива с мастями и значениями.
ИНКАПСУЛЯЦИЯ Это сокрытие  деталей реализации  механизма достижения желаемого поведения объекта. Aбстракция будет работать только вместе с инкапсуляцией. Это означает наличие двух частей в классе: - интерфейс, - реализация. Внутреннаяя реализация скрывает: - структуру объекта, - реализацию его методов.
ПРИМЕР ИНКАПСУЛЯЦИИ ,[object Object]
Card.m класс содержит реализацию 3х методов: ,[object Object]
(CardValue)value;
МОДУЛЬНОСТЬ ,[object Object]
Интерфейс модуля отделен от реализации: ,[object Object]
ClassName.m

More Related Content

Similar to основы ооп

Msu.Center.Lectures.J03 Oop And Uml
Msu.Center.Lectures.J03 Oop And UmlMsu.Center.Lectures.J03 Oop And Uml
Msu.Center.Lectures.J03 Oop And Umlolegol
 
03 ООП и UML
03 ООП и UML03 ООП и UML
03 ООП и UMLphearnot
 
Java. Lecture 03. OOP and UML
Java. Lecture 03. OOP and UMLJava. Lecture 03. OOP and UML
Java. Lecture 03. OOP and UMLcolriot
 
Java. Полиморфизм.
Java. Полиморфизм.Java. Полиморфизм.
Java. Полиморфизм.Unguryan Vitaliy
 
Лекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследованиеЛекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследованиеmetaform
 
Базы данных лекция №3
Базы данных лекция №3Базы данных лекция №3
Базы данных лекция №3Vitaliy Pak
 
JavaScript Базовый. Занятие 04.
JavaScript Базовый. Занятие 04.JavaScript Базовый. Занятие 04.
JavaScript Базовый. Занятие 04.Igor Shkulipa
 
C++ весна 2014 лекция 5
C++ весна 2014 лекция 5C++ весна 2014 лекция 5
C++ весна 2014 лекция 5Technopark
 
C++ Базовый. Занятие 05.
C++ Базовый. Занятие 05.C++ Базовый. Занятие 05.
C++ Базовый. Занятие 05.Igor Shkulipa
 
C++ Базовый. Занятие 08.
C++ Базовый. Занятие 08.C++ Базовый. Занятие 08.
C++ Базовый. Занятие 08.Igor Shkulipa
 
C++ осень 2012 лекция 2
C++ осень 2012 лекция 2C++ осень 2012 лекция 2
C++ осень 2012 лекция 2Technopark
 
Шаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UMLШаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UMLSergey Nemchinsky
 
разработка бизнес приложений (6)
разработка бизнес приложений (6)разработка бизнес приложений (6)
разработка бизнес приложений (6)Alexander Gornik
 
Lec 2 Java
Lec 2 JavaLec 2 Java
Lec 2 Javaitc73
 
03 кластеризация документов
03 кластеризация документов03 кластеризация документов
03 кластеризация документовLidia Pivovarova
 
Практический курс «Основы Data Mining для всех»
Практический курс «Основы Data Mining для всех»Практический курс «Основы Data Mining для всех»
Практический курс «Основы Data Mining для всех»ScienceHunter1
 

Similar to основы ооп (20)

Step 3.1
Step 3.1Step 3.1
Step 3.1
 
Msu.Center.Lectures.J03 Oop And Uml
Msu.Center.Lectures.J03 Oop And UmlMsu.Center.Lectures.J03 Oop And Uml
Msu.Center.Lectures.J03 Oop And Uml
 
03 ООП и UML
03 ООП и UML03 ООП и UML
03 ООП и UML
 
Java. Lecture 03. OOP and UML
Java. Lecture 03. OOP and UMLJava. Lecture 03. OOP and UML
Java. Lecture 03. OOP and UML
 
Java. Полиморфизм.
Java. Полиморфизм.Java. Полиморфизм.
Java. Полиморфизм.
 
Лекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследованиеЛекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследование
 
Базы данных лекция №3
Базы данных лекция №3Базы данных лекция №3
Базы данных лекция №3
 
JavaScript Базовый. Занятие 04.
JavaScript Базовый. Занятие 04.JavaScript Базовый. Занятие 04.
JavaScript Базовый. Занятие 04.
 
C++ весна 2014 лекция 5
C++ весна 2014 лекция 5C++ весна 2014 лекция 5
C++ весна 2014 лекция 5
 
C++ Базовый. Занятие 05.
C++ Базовый. Занятие 05.C++ Базовый. Занятие 05.
C++ Базовый. Занятие 05.
 
п2 11 12
п2 11 12п2 11 12
п2 11 12
 
C++ Базовый. Занятие 08.
C++ Базовый. Занятие 08.C++ Базовый. Занятие 08.
C++ Базовый. Занятие 08.
 
п2 16 17
п2 16 17п2 16 17
п2 16 17
 
C++ осень 2012 лекция 2
C++ осень 2012 лекция 2C++ осень 2012 лекция 2
C++ осень 2012 лекция 2
 
Шаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UMLШаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UML
 
разработка бизнес приложений (6)
разработка бизнес приложений (6)разработка бизнес приложений (6)
разработка бизнес приложений (6)
 
Lec 2
Lec 2Lec 2
Lec 2
 
Lec 2 Java
Lec 2 JavaLec 2 Java
Lec 2 Java
 
03 кластеризация документов
03 кластеризация документов03 кластеризация документов
03 кластеризация документов
 
Практический курс «Основы Data Mining для всех»
Практический курс «Основы Data Mining для всех»Практический курс «Основы Data Mining для всех»
Практический курс «Основы Data Mining для всех»
 

основы ооп

  • 2. Понятие объектной модели Объектно-ориентированная технология основывается на так называемой объектной модели . Основные принципы объектной модели: - абстрагирование, инкапсуляция, модульность, иерархичность Второстепенные принципы: - типизация, параллелизм, сохраняемость
  • 3. АБСТРАГИРОВАНИЕ Это процесс выделения* сущности** из предметной области. * выделение — отделение от главного частностей. * сущность — объект, предмет, человек и т.д. Абстракция определяет интерфейс класса. Интерфейс отражает внешнее поведение объекта.
  • 4.
  • 6.
  • 9.
  • 11. Вместо этого класса есть 2 массива с мастями и значениями.
  • 12. ИНКАПСУЛЯЦИЯ Это сокрытие деталей реализации механизма достижения желаемого поведения объекта. Aбстракция будет работать только вместе с инкапсуляцией. Это означает наличие двух частей в классе: - интерфейс, - реализация. Внутреннаяя реализация скрывает: - структуру объекта, - реализацию его методов.
  • 13.
  • 14.
  • 16.
  • 17.
  • 19. ИЕРАРХИЧНОСТЬ Это упорядочение абстракций в иерархическую структуру. Цель применения: - упрощение понимания сложных задач, - повторное использование кода. Виды иерархий: - "is-a" - отношение "обобщениепециализация"(наследование). * вышестоящая абстракция является обобщением * нижестоящая - специализацией. - "part of" - вводит иерархию агрегации (композиция).
  • 20.
  • 21.
  • 23. ТИПИЗАЦИЯ Это способ защититься от использования объектов одного класса вместо другого. Класс реализует понятие типа. Виды типизации: - сильная и слабая, - статическая и динамическая.
  • 24. СИЛЬНАЯ И СЛАБАЯ ТИПИЗАЦИЯ Cледит за соответствием типов. Сильная типизация -  запрещает смешивание абстракций. Слабая типизация - позволяет смешивание абстракций.
  • 25. СТАТИЧЕСКАЯ И ДИНАМИЧЕСКАЯ ТИПИЗАЦИЯ Определяет время, когда имена объектов связываются с типами. Статическая типизация (статическое или ранее связывание) - тип объекта известен во время компиляции. Динамическая типизация (позднее связывание) - тип неизвестен до момента компиляции. - эта способность называется  полиморфизм . Полиморфизм - одно и то же имя функции может принадлежать объектам разных типов.
  • 26.
  • 27. [dictionary copy]; Свойство полиморфизма - одно и то же имя метода может означать объекты разных типов, но, имея общего предка, все они имеют и общее подмножество операций, которые можно над ними выполнять.
  • 28.
  • 29. А в целом Objective-C имеет сильюную типизацию.
  • 30.
  • 31. ПАРАЛЛЕЛИЗМ Дает возможность выполнять одновременно несколько процессов. Реальная параллельность достигается только на многопроцессорных системах, а системы с одним процессором имитируют параллельность за счет алгоритмов разделения времени. Процесс (поток управления) - это фундаментальная единица действия в системе.
  • 32. СОХРАНЯЕМОСТЬ      Это возможность объекта перемещаться из одного адресного пространства в другое.      Что позволяет объекту существовать во времени и пространстве, переживая породивший его процесс.
  • 33.