Есть ли жизнь без ООП? Суть ООП для новичков
Post on 05-Aug-2015
184 Views
Preview:
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