Есть ли жизнь без ООП? Суть ООП для новичков

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

Upload: goit

Post on 05-Aug-2015

181 views

Category:

Technology


1 download

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 Op2

10101100 01100010 00101011

11001001 01011100 00101011

00001001 00101110 11001101

01010111 01111100 11100110

10111010 01011101

10101011 11011110 01100101

00110110 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: Есть ли жизнь без ООП? Суть ООП для новичков
Page 67: Есть ли жизнь без ООП? Суть ООП для новичков
Page 68: Есть ли жизнь без ООП? Суть ООП для новичков

GoITМы помогаем каждому достичь

образовательных и карьерных целей в IT.

Наша цель - создать бренд Украины как сильной IT страны!

Page 69: Есть ли жизнь без ООП? Суть ООП для новичков

Учебную программу пишут лидеры ИТ сферы

Александр Майданюк — Head of QA BranchHead of Quality Assurance Solution at Ciklum

Александр Баглай — Head of Java BranchРаботал в GlobalLogic, общий опыт в IT — 8 лет

Павел Медведев — Head of GoStart Freelance Consultant, имеет степень Abode ACE

Сергей Пузанков — Head of Frontend Branch Team Lead в Яндекс, общий опыт в IT — 13 лет

Page 70: Есть ли жизнь без ООП? Суть ООП для новичков

Преподаватель-практик

Ментор 1 Ментор 2 Ментор 3

Page 71: Есть ли жизнь без ООП? Суть ООП для новичков

Система онлайн образования

Page 72: Есть ли жизнь без ООП? Суть ООП для новичков

Практика на реальных кейсах

+ Ebanit

Page 73: Есть ли жизнь без ООП? Суть ООП для новичков

Геймификация и интерактив

Page 74: Есть ли жизнь без ООП? Суть ООП для новичков

Career Service

Помогает попасть в IT-компании с «Черного входа»

Page 75: Есть ли жизнь без ООП? Суть ООП для новичков

Серьезный отбор

3 ключевых составляющих, необходимых для старта карьеры в ІТ:

Знание английского на уровне Intermediate

Технические навыки на уровне продвинутого

пользователя/администратора

Мощнейшая внутренняя мотивация

Page 76: Есть ли жизнь без ООП? Суть ООП для новичков

Ваше трудоустройство — Цель №1

• Составим идеальное CV

• Даем рекомендации, учим продавать себя

• Тестовое собеседование

• Сareer Service

Page 77: Есть ли жизнь без ООП? Суть ООП для новичков

Мы формируем сообщество ІТ-лидеров

Page 78: Есть ли жизнь без ООП? Суть ООП для новичков

Закрытые ивенты для участников GoITclub с лидерами IT-сообщества

Page 79: Есть ли жизнь без ООП? Суть ООП для новичков

Разработка программы

Виктор Журбенко

QA Consultant @ Infopulse

• Опыт работы в автоматизации • на Java 7+ лет

• ISTQB Certified Tester, Advanced Level,Technical Test Analyst

• Опыт преподавания AQA (Java) больше 2х лет

Page 80: Есть ли жизнь без ООП? Суть ООП для новичков

Детали курса

Длительность

2 месяца

Page 81: Есть ли жизнь без ООП? Суть ООП для новичков

Детали курса

Длительность

2 месяца

Интенсивность

2 раза/нед.

Page 82: Есть ли жизнь без ООП? Суть ООП для новичков

Детали курса

Длительность

2 месяца

Стоимость

6 000 грн

Интенсивность

2 раза/нед.

Page 83: Есть ли жизнь без ООП? Суть ООП для новичков

Детали курса

Длительность

2 месяца

Стоимость

6 000 грн

Интенсивность

2 раза/нед.

Старт курса

28 мая

Page 84: Есть ли жизнь без ООП? Суть ООП для новичков

Tech Skills

Topic 1 IntroductionTopic 2 Variables and expressionsTopic 3 Expressions, control statementsTopic 4 While, for, arrays

Topic 5 Char array and class ArraysTopic 6 String, operations with StringTopic 7 Class StringTopic 8 File, Exceptions

Topic 9 OOP

Topic 10 Modifiers in JavaTopic 11  Algorithms and OOPTopic 12 Debugging. Simple anti-

patterns Topic 13 Concepts of unit testing. jUnit Topic 14 Test automation using jUnit Topic 15 Presentations

Page 85: Есть ли жизнь без ООП? Суть ООП для новичков

Java Basic Course

4 мес.

В течении 6 месяцев запускаются:

UI/UXAndroid iOS PM

GoStart QA Manua

l

QA Automation

2 мес. 3,5 мес. 4 мес.

Есть!

ISTQB

2 мес.

Front-end

6 мес.

Page 86: Есть ли жизнь без ООП? Суть ООП для новичков

Stay tuned!

goit.com.ua

vk.com/goITclub

facebook.com/goITclub