Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
08/27 OOP 設計
Search
crazylion
August 27, 2015
Technology
260
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
08/27 OOP 設計
講師: 遠遠
crazylion
August 27, 2015
More Decks by crazylion
See All by crazylion
IDF 使用者心理課程
crazylion
1
170
InTouch: Crossing Social Interaction with Perception
crazylion
0
310
The Twins: Lighting Design Based on Rich Movements
crazylion
0
180
HexDeck: Gamification of Tangibles for Brainstoming
crazylion
0
780
Interaction Design Paradigms
crazylion
0
240
Paradigm Construction & Manifestos in interaction design
crazylion
0
300
批判設計初探
crazylion
0
300
Generative Algorithms 第四章 - Transformation
crazylion
0
250
Generative Algorithms V2 第二章
crazylion
2
320
Other Decks in Technology
See All in Technology
AI-DLCって実際どう? 〜聞きたいこと全部聞いてみる〜
news_it_enj
0
250
Claude Code本って、 読む必要あるの?
oikon48
2
360
The Agent Builder Loop from Daily Work to OSS
minorun365
PRO
3
120
推論の観測、できていますか? 〜 Google Cloud Gemini Enterprise Agent Platformで 3つの Gemini モデルを実測して踏んだ、評価の罠 〜
shukob
PRO
0
180
Deploying a Full-Stack Bun-Native Framework on Cloudflare Workers
7nohe
0
130
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
280
AI 駆動 Terraform 開発/SRE_BizReach_MIXI_2
visional_engineering_and_design
3
2k
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
130
KPIだけでは評価できないプロダクトが考えるべき Evalsという第二の評価系 / Beyond KPIs: Evals as a Second Evaluation Framework for Products #PdEConf
aki_iinuma
4
3.8k
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
1
460
Reactの設計論
uhyo
14
7.1k
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
140
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
270
The Curious Case for Waylosing
cassininazir
1
500
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
520
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Prompt Engineering for Job Search
mfonobong
0
450
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
190
Abbi's Birthday
coloredviolet
3
9.9k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Transcript
OOP 物件導向程式設計
OOP ⬜ 講到OOP (Object-Oriented Programming) 物件 導向程式設計 ⬜ 我們想到 …
⬜ Smalltalk,Java,C#,C++(支援) … 物件導向程式 語言(OOPL:Object-Oriented Programming Language)
OOP > OOPL ⬜ 物件導向程式語言是基於OO概念設計的語言 ⬜ 物件導向程式語言不是物件導向程式設計的全部 ⬜ 物件導向程式語言協助易於實現物件導向程式設 計
⬜ 用OOPL寫出不OO的程式 – 程序導向 ⬜ 用非OOPL寫出具OO概念的程式 ◼ (Google:javascript oop)
程序導向 & 物件導向 ⬜ 程序導向 ◼ 功能目的 ◼ 動作 ◼
程序 ◼ 工作流思考模式 (一連串函式呼叫,一連串電腦指令) ▫ UML Sequence diagram ▫ http://www.smileytech. net/school/CS471_Project_WebSite_files/OverallSequence.gif ⬜ 物件導向 ◼ 物件導向就是要基於物件阿 ~ ▫ 專注於將系統裡的各部分抽象為物件,系統為一群物件的交互作用 而運作。 ▫ 個別物件擁有各自的屬性(資料)與方法(動作行為)。 ▫ 某種角度上物件導向概念更貼近現實環境。
OOP 物件導向程式設計 物件導向是一種概念,思維,設計方式。
歷史 ⬜ 1960年代 Kristen Nygaard & Ole-Johan Dahl 物件導向之父 ⬜
An Object is anything to which a concept applies. It is an instance of a concept. ⬜ 宏觀:電視、手機、汽車 … ⬜ 微觀:螢幕、按鍵、輪胎、零組件 … ⬜ 抽象概念:會議、訂購行為 …
源起 ⬜ 程序導向程式設計面臨靈活性,重用性,擴充性 與維護等難題。 ⬜ 物件導向程式設計:將系統各部分視為獨立個體 相互協作。 ◼ 積木 ⬜
類比於現實生活的映射,更容易理解。便於分析、 設計與管理。-- 譬喻法
基本理論 ⬜ 類別 (Class) ◼ 類別(class)是藍圖,規格書,模板。定義該物的屬性(資 料)與方法(動作行為)。 ⬜ 物件 (Object)
◼ 物件(object)是類別的一個實例。 物件 → 類別 (抽象化) 類別 → 物件 (實例化)
基本理論 1 ⬜ 封裝 (Encapsulation) ◼ 資料隱藏 ◼ 降低能見度 →
減低依賴性 (低耦合) ⬜ 繼承 (Inheritance) ◼ Reuse 程式碼重用 ◼ 多重繼承 ⬜ 多型 (Polymorphism) ◼ 同名異式 ◼ 相同名稱的方法可以有不同的程式碼。 ◼ 覆寫 Override
基本理論 2 ⬜ 介面 (Interface) ◼ 描述不同類別的共通行為。 ◼ 規範、規格(開發角度)
進階理論 ⬜ 抽象方法 ⬜ Design Pattern
學習OOP ⬜ 初步可選定一物件導向程式語言學起 ⬜ 建立概念 ⬜ 練習系統分析抽象化 ⬜ 日常生活觀察映射 –
譬喻法
參考資料 ⬜ 不受侷限,多點想像。 ⬜ http://blog.roodo. com/rocksaying/archives/4963259.html ⬜ http://www.kenming.idv. tw/ac_eb_af_cu_af_eo_eu_ascci_a_c_carpad_a