Top Banner
Есть ли жизнь без ООП?
66

Есть ли жизнь без ООП

Feb 18, 2017

Download

Software

Taras Slipets
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Есть ли жизнь без ООП

Есть ли жизнь без ООП?

Page 2: Есть ли жизнь без ООП

Evolution of

programming

Page 3: Есть ли жизнь без ООП

Evolution of

programming

Page 4: Есть ли жизнь без ООП

Turing machine

Long time ago in a galaxy far far away…

Page 5: Есть ли жизнь без ООП

2D

Page 6: Есть ли жизнь без ООП

Binary code

Operation code Op1 Op210101100 01100010 0010101111001001 01011100 0010101100001001 00101110 1100110101010111 01111100 1110011010111010 0101110110101011 11011110 0110010100110110 11100111 11100011

Page 7: Есть ли жизнь без ООП

Binary code

Page 8: Есть ли жизнь без ООП

Use chars, Luke!

Page 9: Есть ли жизнь без ООП

Assembler

section .text global _start ;must be

declared for linker (ld) _start: ;tells linker entry point

mov edx,len ;message length

mov ecx,msg ;message to write

mov ebx,1 ;file descriptor (stdout)

mov eax,4 ;system call number (sys_write)

int 0x80 ;call kernel

mov eax,1 ;system call number (sys_exit)

int 0x80 ;call kernel section .data msg db 'Hello, world!', 0xa ;our dear string len equ $ - msg ;length of our dear string

Page 10: Есть ли жизнь без ООП

Place for your ads here

I don’tcareaboutallthesehardwarestuff!

Page 11: Есть ли жизнь без ООП

High-level languages

program hello print *, "Hello World!"

end program hello

Page 12: Есть ли жизнь без ООП

Code reuse

Page 13: Есть ли жизнь без ООП

Procedure programming

procedure print_hello()Begin writeln(‘Hello, World!’);End;

Page 14: Есть ли жизнь без ООП

Code and data as one single

thing

Page 15: Есть ли жизнь без ООП

Object-oriented programming

Class

Properties : data

Methods : code

Representation of

smthreal

Page 16: Есть ли жизнь без ООП

Class example

public class HelloClass {String hello = "Hello, World!";public void printHello() {

System.out.println(hello);}

}

Page 17: Есть ли жизнь без ООП

Object is a class instance

Page 18: Есть ли жизнь без ООП

Dangerous abstraction

Page 19: Есть ли жизнь без ООП

Abstraction

Page 20: Есть ли жизнь без ООП

Weird abstraction

Page 21: Есть ли жизнь без ООП

About me{

“First name”: “Taras”,

“Last name”: “Slipets”,

“Occupation”: [

“4+ years in enterprise software engineering”,

“3+ years in teaching”

],

“LinkedIn Profile”: “http://www.linkedin.com/pub/taras-slipets/48/466/516”,

“Interests”: [

“Music”,

“Skiing”

]

}

Page 22: Есть ли жизнь без ООП

Методы абстракции

• Параметризация

• Спецификация

Page 23: Есть ли жизнь без ООП

Абстракция через параметризацию

Page 24: Есть ли жизнь без ООП

Абстракция через спецификацию

Page 25: Есть ли жизнь без ООП

Виды абстракции

• Процедурная

• Абстракция данных

• Абстракция итерации

Page 26: Есть ли жизнь без ООП

Модель

2 атомарных понятия:• Объект• Отношение

Page 27: Есть ли жизнь без ООП

Что важнее?

Page 28: Есть ли жизнь без ООП

Понятие объекта

Объект является конкретным распознаваемым предметом, сущностью или явлением (реальным или абстрактным), которое имеет четко определенное функциональное назначение в данной проблемной области.

Объекты обладают целостностью, которую не следует нарушать. Объект может только менять состояние, поведение, управляться или становиться в определенное отношение к другим объектам.

Page 29: Есть ли жизнь без ООП

What???

Page 30: Есть ли жизнь без ООП

Понятие объекта

Объект является конкретным распознаваемым предметом, сущностью или явлением (реальным или абстрактным), которое имеет четко определенное функциональное назначение в данной проблемной области.

Объекты обладают целостностью, которую не следует нарушать. Объект может только менять состояние, поведение, управляться или становиться в определенное отношение к другим объектам.

Page 31: Есть ли жизнь без ООП

Понятие объекта

Объект является конкретным распознаваемым предметом, сущностью или явлением (реальным или абстрактным), которое имеет четко определенное функциональное назначение в данной проблемной области.

Объекты обладают целостностью, которую не следует нарушать. Объект может только менять состояние, поведение, управляться или становиться в определенное отношение к другим объектам.

Page 32: Есть ли жизнь без ООП

Понятие объекта

Объект является конкретным распознаваемым предметом, сущностью или явлением (реальным или абстрактным), которое имеет четко определенное функциональное назначение в данной проблемной области.

Объекты обладают целостностью, которую не следует нарушать. Объект может только менять состояние, поведение, управляться или становиться в определенное отношение к другим объектам.

Page 33: Есть ли жизнь без ООП

Понятие объекта

Объект является конкретным распознаваемым предметом, сущностью или явлением (реальным или абстрактным), которое имеет четко определенное функциональное назначение в данной проблемной области.

Объекты обладают целостностью, которую не следует нарушать. Объект может только менять состояние, поведение, управляться или становиться в определенное отношение к другим объектам.

Page 34: Есть ли жизнь без ООП

Понятие объекта

Объект является конкретным распознаваемым предметом, сущностью или явлением (реальным или абстрактным), которое имеет четко определенное функциональное назначение в данной проблемной области.

Объекты обладают целостностью, которую не следует нарушать. Объект может только менять состояние, поведение, управляться или становиться в определенное отношение к другим объектам.

Page 35: Есть ли жизнь без ООП

Понятие объекта

Объект является конкретным распознаваемым предметом, сущностью или явлением (реальным или абстрактным), которое имеет четко определенное функциональное назначение в данной проблемной области.

Объекты обладают целостностью, которую не следует нарушать. Объект может только менять состояние, поведение, управляться или становиться в определенное отношение к другим объектам.

Page 36: Есть ли жизнь без ООП

Понятие объекта

Объект является конкретным распознаваемым предметом, сущностью или явлением (реальным или абстрактным), которое имеет четко определенное функциональное назначение в данной проблемной области.

Объекты обладают целостностью, которую не следует нарушать. Объект может только менять состояние, поведение, управляться или становиться в определенное отношение к другим объектам.

Page 37: Есть ли жизнь без ООП

Понятие объекта

Объект является конкретным распознаваемым предметом, сущностью или явлением (реальным или абстрактным), которое имеет четко определенное функциональное назначение в данной проблемной области.

Объекты обладают целостностью, которую не следует нарушать. Объект может только менять состояние, поведение, управляться или становиться в определенное отношение к другим объектам.

Page 38: Есть ли жизнь без ООП

Понятие объекта

Объект является конкретным распознаваемым предметом, сущностью или явлением (реальным или абстрактным), которое имеет четко определенное функциональное назначение в данной проблемной области.

Объекты обладают целостностью, которую не следует нарушать. Объект может только менять состояние, поведение, управляться или становиться в определенное отношение к другим объектам.

Page 39: Есть ли жизнь без ООП

Exactly!

Page 40: Есть ли жизнь без ООП

Характеристики объекта

• Состояние

• Поведение

• Идентичность (индивидуальность)

Page 41: Есть ли жизнь без ООП

СостояниеПеречень всех возможных свойств объекта, а также их текущие значения (обычно динамические).

Page 42: Есть ли жизнь без ООП

Поведение

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

Page 43: Есть ли жизнь без ООП
Page 44: Есть ли жизнь без ООП

Поведение

Поведение объекта полностью определяется его действиями

Page 45: Есть ли жизнь без ООП

Идентичность

Page 46: Есть ли жизнь без ООП

Операция

Влияние одного объекта на другой

Page 47: Есть ли жизнь без ООП

Метод

Операции, выполняемые над данным объектом или выполняемые данным объектом, называются методами(методической частью объекта) и входят составной частью в определение объекта.

Page 48: Есть ли жизнь без ООП

Основные виды операций

• Модификатор (set-метод)• Селектор (get-метод)• Итератор• Конструктор• Деструктор

Page 49: Есть ли жизнь без ООП

Понятие класса

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

Page 50: Есть ли жизнь без ООП

Unified Modeling Language (UML)

Page 51: Есть ли жизнь без ООП

Описание класса

Лекция

темаинтересностьпродолжительность

прослушать()забить_и_пойти_на_пиво()

Page 52: Есть ли жизнь без ООП

Описание класса

Лекция

темаинтересностьпродолжительность

прослушать()забить_и_пойти_на_пиво()

Имя класса

Page 53: Есть ли жизнь без ООП

Описание класса

Лекция

темаинтересностьпродолжительность

прослушать()забить_и_пойти_на_пиво()

Имя класса

Поля

Page 54: Есть ли жизнь без ООП

Описание класса

Лекция

темаинтересностьпродолжительность

прослушать()забить_и_пойти_на_пиво()

Имя класса

Поля

Методы

Page 55: Есть ли жизнь без ООП

Описание класса

Лекция

темаинтересностьпродолжительность

прослушать()забить_и_пойти_на_пиво()

Имя класса

Поля

Методы

Page 56: Есть ли жизнь без ООП

Описание объекта

Математический анализ: Лекциятема = Понятие многомерного интеграла. Поверхностный интеграл

интересность = АГОНЬ

продолжительность= 90 хвилин

Имя объекта

Поля

Page 57: Есть ли жизнь без ООП

Основные принципы ООП

Page 58: Есть ли жизнь без ООП
Page 59: Есть ли жизнь без ООП

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

Page 60: Есть ли жизнь без ООП

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

Page 61: Есть ли жизнь без ООП

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

Page 62: Есть ли жизнь без ООП

Наследование

Page 63: Есть ли жизнь без ООП

Наследование

Page 64: Есть ли жизнь без ООП

Полиморфизм

Page 65: Есть ли жизнь без ООП

Полиморфизм

Page 66: Есть ли жизнь без ООП