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

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

Embed Size (px)

Citation preview

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: Есть ли жизнь без ООП