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

Post on 05-Aug-2015

184 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Evolution of

programming

Evolution of

programming

Turing machine

Long time ago in a galaxy far far away…

2D

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

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 хвилин

Имя объекта

Поля

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

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

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

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

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

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

Полиморфизм

Полиморфизм

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

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

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

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

Александр Майданюк — 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 лет

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

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

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

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

+ Ebanit

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

Career Service

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

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

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

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

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

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

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

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

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

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

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

• Сareer Service

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

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

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

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

QA Consultant @ Infopulse

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

• ISTQB Certified Tester, Advanced Level,Technical Test Analyst

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

Детали курса

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

2 месяца

Детали курса

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

2 месяца

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

2 раза/нед.

Детали курса

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

2 месяца

Стоимость

6 000 грн

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

2 раза/нед.

Детали курса

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

2 месяца

Стоимость

6 000 грн

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

2 раза/нед.

Старт курса

28 мая

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

Java Basic Course

4 мес.

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

UI/UXAndroid iOS PM

GoStart QA Manua

l

QA Automation

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

Есть!

ISTQB

2 мес.

Front-end

6 мес.

Stay tuned!

goit.com.ua

vk.com/goITclub

facebook.com/goITclub

top related