技術問答
技術文章
iT 徵才
Tag
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
26
0
自我挑戰組
從不懂,到玩上手的Python語言
系列 第
26
篇
DAY26-物件導向設計
11th鐵人賽
岳岳
團隊
CPR爆肝初心者
2019-10-12 22:07:09
10834 瀏覽
分享至
學習目標
何謂「物件導向程式設計」?
為何使用「物件導向程式設計」?
用不用「物件導向」差在哪裡?
物件導向程式的寫法
物件導向專有名詞
物件導向三大特色
何謂「物件導向設計」
把資料與操作該資料的函數綁在一起的語法
為何使用「物件導向」?
方便程式碼重用
用不用「物件導向」差在哪裡?
不使用物件導向描述一件事
使用物件導向描述一件事
用「物件導向」優點
便於程式碼「重用」
把程式細節隱藏在物件內,
讓主程式變短,
簡化主程式邏輯
用「物件導向」缺點
「基礎建設」較繁雜龐大,
寫個簡單程式需要比傳統寫法,還要更多行
物件導向程式的寫法
先定義好參與這件事的物品有哪些(這些物品叫做 “物件”)
再定義這些物品所需的數量及行為(這些數量及行為叫做 “屬性”與“方法”)
接下來就可用物品間的互動行為 來描述整件事情是如何發生的(這部份的描述稱為“主程式”)
物件導向專有名詞
屬性(Properties)vs. 方法(Methods)
類別 (Class):物件的設計藍圖
物件 (Object):根據類別所建造出來的實體 (Instance)
利用「類別」產生出「物件」,我們稱此動作為「實體化(Instantiation)」
物件導向三大特色
封裝 (Encapsulation)
將資料 (屬性) 與操作此資料的函數 (方法) 包在一起的特性
繼承 (Inheritance)
承接另一個物件所有屬性與方法,並可以加以改造的特性
多型 (Polymorphism)
修改繼承下來的函數,使之名稱相同,但行為卻不同的特性(覆寫Overwriting)
在一個類別內定義多個同名函數,隨著傳入值或呼叫方法不同而有不同行為(多載Overloading)
重點整理
為何使用「物件導向程式設計」
方便程式碼「重用」
屬性 vs. 方法
屬性:物件內的「資料」
方法:物件內的「函數」
類別 vs. 物件
類別:物件的「設計藍圖」
物件:由類別建造出來的一個「實體」
物件導向三大特性
封裝(Encapsulation):讓你把「資料」與「函數」打成一包
繼承(Inheritance):讓你輕易拷貝另一個類別所有屬性與方法
多型(Polymorphism):覆寫(Overwriting)+ 多載(Overloading)
留言
追蹤
檢舉
上一篇
Day25-複合資料結構:字典
下一篇
Day27-物件導向設計 :封裝部分
系列文
從不懂,到玩上手的Python語言
共
30
篇
目錄
RSS系列文
訂閱系列文
9
人訂閱
26
DAY26-物件導向設計
27
Day27-物件導向設計 :封裝部分
28
Day28-物件導向設計封裝部分:建構函數(Constructor)
29
Day29- 例外處理 (Exception)
30
Day30-總結30 天
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19858
篇
完賽人數
529
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
從資訊安全角度分析:若電子支付平台疑遭暗網販售資料,可能的技術成因與防護機制?
win11 bitlocker 除了格式化重灌外, 有解嗎?
請問要如何將github下載下來的檔案轉成dll檔
Exchange 2016 手機無法登入
Gmail 寄件備分 一次變成 Gmail聯絡人寄出
二道認證認證的方式
VGA一公二母連接線的公頭插到螢幕上也可以使用嗎?
熱門回答
從資訊安全角度分析:若電子支付平台疑遭暗網販售資料,可能的技術成因與防護機制?
請問要如何將github下載下來的檔案轉成dll檔
熱門文章
📨 用 n8n 自動整理信用卡帳單:從 Gmail 到 LINE 的實戰筆記
Google AI 搜尋的負面影響逐漸浮現
[IIS]更版時客戶想要有個美美的靜態維護畫面嗎? 其實超簡單的方法就可以辦到咯
Cisco 300-820 CLCEI 認證考試介紹|CCNP Collaboration 專業方向與備考指南
Wifi定位技術,802.11mc,GPS,AGPS,WiGLE
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}