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

Post on 18-Feb-2017

223 views 0 download

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

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

Evolution of

programming

Evolution of

programming

Turing machine

Long time ago in a galaxy far far away…

2D

Binary code

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

Binary code

Use chars, Luke!

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

Place for your ads here

I don’tcareaboutallthesehardwarestuff!

High-level languages

program hello print *, "Hello World!"

end program hello

Code reuse

Procedure programming

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

Code and data as one single

thing

Object-oriented programming

Class

Properties : data

Methods : code

Representation of

smthreal

Class example

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

System.out.println(hello);}

}

Object is a class instance

Dangerous abstraction

Abstraction

Weird abstraction

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”

]

}

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

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

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

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

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

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

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

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

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

Модель

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

Что важнее?

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

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

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

What???

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Exactly!

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

• Состояние

• Поведение

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

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

Поведение

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

Поведение

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

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

Операция

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

Метод

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

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

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

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

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

Unified Modeling Language (UML)

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

Лекция

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

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

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

Лекция

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

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

Имя класса

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

Лекция

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

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

Имя класса

Поля

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

Лекция

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

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

Имя класса

Поля

Методы

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

Лекция

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

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

Имя класса

Поля

Методы

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

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

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

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

Имя объекта

Поля

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

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

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

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

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

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

Полиморфизм

Полиморфизм