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
88
АФТИ ООП 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.4k
Лекция № 12. Ещё о проектировании
be9
0
1.4k
Лекция № 11. Принцип отделения интерфейса. «Малое ООП»
be9
0
1.4k
Лекция № 10. Графическая нотация. Принципы LSP и DIP
be9
0
1.4k
Лекция № 9. Отношения между классами. Принцип открытия-закрытия
be9
0
1.3k
Лекция № 8. Хорошие и плохие ОО-программы
be9
0
1.3k
Лекция № 7. algorithm. Исключения
be9
1
1.3k
Лекция № 6. Стандартная библиотека C++. Часть 2
be9
0
1.4k
Лекция № 5. Стандартная библиотека C++. Часть 1
be9
0
1.4k
Other Decks in Education
See All in Education
わたしのメタ学習 / My Own Meta Learning #shinjukurb
expajp
0
120
パフォーマンス・チューニング入門
oracle4engineer
PRO
2
620
Railsチュートリアルの歩き方 (第7版)
yasslab
PRO
1
1M
インターアクトクラブについて:国際ロータリー第2720地区インターアクト委員会 委員長・大分東ロータリークラブ 阿部 克哉 氏
2720japanoke
0
670
Monaca Educationを活用した課題解決型の探究学習の実践
asial_edu
0
200
自己紹介 / who-am-i
yasulab
2
3.1k
子どもたち創造的活動機会の必要性に関する提言/creativehub
codeforeveryone
0
230
「ロータリーって何?」と訊かれたら:国際ロータリー 2720地区 2023-2024年度 公共イメージ部門 副委員長・ 熊本南ロータリークラブ・ 株式会社ヒデコーポレーション 代表 大津 英敬 氏
2720japanoke
0
560
STEAM教育の枠組で行うプログラミング学習
asial_edu
0
210
Родина моя Беларусь в лицах
programmer_sch2np
0
160
Virtual and Augmented Reality - Lecture 8 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
1.2k
論文の読み方 / How to survey
kaityo256
PRO
176
120k
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
60
5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
A better future with KSS
kneath
231
16k
Statistics for Hackers
jakevdp
789
220k
Being A Developer After 40
akosma
57
580k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
Thoughts on Productivity
jonyablonski
58
3.8k
Side Projects
sachag
451
41k
RailsConf 2023
tenderlove
4
540
Faster Mobile Websites
deanohume
299
30k
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 Проектирование класса для линейной аппроксимации набора точек
КОНЕЦ ПЯТОЙ ЛЕКЦИИ