技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
27
0
自我挑戰組
從不懂,到玩上手的Python語言
系列 第
27
篇
Day27-物件導向設計 :封裝部分
11th鐵人賽
岳岳
團隊
CPR爆肝初心者
2019-10-13 19:49:38
2005 瀏覽
分享至
學習目標
定義一個空類別
類別的底層機制
定義一個一般類別
空類別的「定義」與「實體化」
定義類別(Define a Class)
實體化(Instantiation)
範例原始碼與執行結果
原始碼
執行結果
類別/物件底層記憶體分佈
驗證類別/物件底層記憶體分佈
定義一個類別的方法
先定義一個類別有哪些資料然後定義這些資料要有哪些函數去操縱然後將資料
與函數包起來並且在主程式使用包裝好的類別
為何函數第一個參數是 self
為了區別「類別」與「物件」內的變數
如何取出 name 與 age 的值
使用「物件名稱.成員名稱」語法
屬性(物件內的變數): robert.name、robert.age
方法(物件內的函數): robert.setData(…)
可以直接寫值到 name 或 age 上嗎?
可以!!
語法: 物件變數名稱.屬性名稱 = 新值
範例: robert.age= 50
老手常常把變數宣告省略
原因
Python 在指定初值時,遇到變數不存在會自動產生變數後再給初值。
省略的好處:少寫幾行系統效率稍好
不省略的好處:程式碼容易了解
重點整理
定義一個類別的語法
語法:class 類別名稱:
範例:class Person:
實體化一個類別的語法
語法:物件變數名稱 體化個類別的語法
範例:robert Person()
類別底層機制
類別自己有自己的記憶體,內含所有宣告的變數與函數,作為拷貝用的範本
每實體化一個物件 = 將類別記憶體完整拷貝一份
物件導向類別的寫作方法
定義變數 → 定義操縱變數的函數 → 將變數、函數包起來
self:代表物件「自己」,可以用來抓取包含於其中的變數與函數
類別的函數(方法)第一參數一定是 self。但呼叫時不需寫 self
老手常常省略變數宣告,因為 Python 會自動產生
留言
追蹤
檢舉
上一篇
DAY26-物件導向設計
下一篇
Day28-物件導向設計封裝部分:建構函數(Constructor)
系列文
從不懂,到玩上手的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鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22132
篇
完賽人數
595
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
請問各位大神,有辦法更改家中的網路對外IP嗎 Orz
請問華碩分享器的系統紀錄這是在說明什麼
PDF簽章疑問
請問有 PDF 能一張一張翻譯加AI分析的方便工具嗎?
自家網站DNS連線逾時會載入很慢
MSSQL 滿3個月的算法
请教两个问题(文字和手机
網路查詢指令應用
Juniper SRX1500 斷電再開就無法正常運作
電子書閱讀器購買和實體書的優缺勢分析
熱門回答
請問各位大神,有辦法更改家中的網路對外IP嗎 Orz
請教舊電腦架網站的防護措施
JS 是否可以匯入「.xls」
MSSQL 滿3個月的算法
Exchange 刪除使用者 救回信件
熱門文章
當了兩個月的轉職工程師是怎樣的感覺?
iPhone升級iOS18之後 Vigor Router Firewall 路由器 防火牆 SmartVPN Client 問題
入門 ASP.NET Web Forms:建立您的第一個 Web 應用程式
Python 檔案處理:開啟、讀取、寫入與關閉
觀察 TCP UDP port 目的埠和應用程式的關係,CurrPorts 和 Microsoft Network Monitor
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}