Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
АФТИ ООП 2013-2014. Лекция I/05
Search
Oleg Dashevskii
October 07, 2013
Education
0
110
АФТИ ООП 2013-2014. Лекция I/05
Oleg Dashevskii
October 07, 2013
Tweet
Share
More Decks by Oleg Dashevskii
See All by Oleg Dashevskii
Лекция № 13. Практическое руководство по разработке
be9
0
1.5k
Лекция № 12. Ещё о проектировании
be9
0
1.5k
Лекция № 11. Принцип отделения интерфейса. «Малое ООП»
be9
0
1.5k
Лекция № 10. Графическая нотация. Принципы LSP и DIP
be9
0
1.6k
Лекция № 9. Отношения между классами. Принцип открытия-закрытия
be9
0
1.5k
Лекция № 8. Хорошие и плохие ОО-программы
be9
0
1.5k
Лекция № 7. algorithm. Исключения
be9
1
1.5k
Лекция № 6. Стандартная библиотека C++. Часть 2
be9
0
1.6k
Лекция № 5. Стандартная библиотека C++. Часть 1
be9
0
1.6k
Other Decks in Education
See All in Education
RELC_2025_KYI
otamayuzak
0
110
Linuxのよく使うコマンドを解説
mickey_kubo
1
130
Gamified Interventions for Composting Behavior: A Case Study Using the Gamiflow Framework in a Workplace Setting
ezefranca
1
120
OpenSourceSummitJapanを運営してみた話
kujiraitakahiro
0
700
2025/06/05_読み漁り学習
nag8
0
140
女子商アプリ開発の軌跡
asial_edu
0
390
Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)
signer
PRO
0
2.4k
自己紹介 / who-am-i
yasulab
PRO
3
5.2k
AIC 103 - Applications of Property Valuation: Essential Slides
rmccaic
0
190
検索/ディスプレイ/SNS
takenawa
0
4.5k
Education-JAWS #3 ~教育現場に、AWSのチカラを~
masakiokuda
0
160
2025年度春学期 統計学 第3回 クロス集計と感度・特異度,データの可視化 (2025. 4. 24)
akiraasano
PRO
0
130
Featured
See All Featured
Practical Orchestrator
shlominoach
188
11k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building Adaptive Systems
keathley
43
2.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
A Modern Web Designer's Workflow
chriscoyier
693
190k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
4 Signs Your Business is Dying
shpigford
184
22k
Transcript
ОБЪЕКТНО- ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ Лекция № 5 07.10.2013 г.
ООП Техника Культура «Как?» «Что?» «Зачем?» Синтаксис Биты в памяти
Машинный код и т.д.
ПРИНЦИП ОДНОЙ ЗОНЫ ОТВЕТСТВЕННОСТИ • Single responsibility principle (SRP). •
Должна существовать только одна причина, которая может привести к изменению класса.
Класс Rectangle double area(); // calculate area void draw(); //
draw rectangle
Класс Rectangle double area(); // calculate area void draw(); //
draw rectangle Зона ответственности 1. Вычисление площади
Класс Rectangle double area(); // calculate area void draw(); //
draw rectangle Зона ответственности 1. Вычисление площади Зона ответственности 2. Отрисовка прямоугольника
Класс Rectangle Класс GuiRectangle // calculate area double area(); //
draw rectangle void draw(); Rectangle *rect; Разделяем на два класса и используем композицию
ДИАГРАММЫ КЛАССОВ Наследник Базовый Наследование «Хозяин» «Имущество» Агрегация «Владелец» «Раб»
Композиция Класс1 Класс2 Ассоциация
ЗАДАЧА 1 Объектная ориентация stdio.h
ЗАДАЧА 2 Проектирование класса для линейной аппроксимации набора точек
КОНЕЦ ПЯТОЙ ЛЕКЦИИ