移至主內容
首頁
SLAT Blogs

主導覽

  • 首頁
使用者帳號選單
  • 登入

導航連結

  1. 首頁
  2. 部落格
  3. 肥貓的異想世界

嘗試讓物件導向更通俗的詮釋法

By 肥貓, 25 四月, 2023

之前受訓的末期,講師淺談了(Python)程式設計的物件導向。物件導向是在業界打滾的重要知識,不過對於新手來說技術門檻稍高。加上考證照、做期末專題等瑣事影響注意力,老師講得口沫橫飛,台下同學(如我)卻睡成一片。

結訓後我複習兼思考+檢討後,我想到一個似乎比較好理解,但是我不知道別人是否也很好理解的教法。但就姑且寫下來吧。

 

以一杯市售紅茶為例

假設您的桌上有杯A牌子的市售紅茶。看到他的營養標示這樣寫的(每100毫升)(不過這裡簡單起見,就沒做單位標示):

  1. 熱量:26.7大卡
  2. 蛋白質:0.2公克
  3. 脂肪:0公克
  4. 碳水化合物:6.6公克
  5. 鈉:2.8毫克

初學者鍵入Python的作法,通常就是為這些東西分別設定變數,如(下圖上半部):

black_tea_A_calories=26.7
black_tea_A_protein=0.2
black_tea_A_fat=0
black_tea_A_carbonhydrate=6.6
black_tea_A_na=2.8

 

這樣做沒什麼不好,但是您會看到右側變數欄會有5個變數。假設今天只有A牌子的紅茶還好辦,若今天還有B牌子、C牌子的紅茶,更有甚者還有綠茶...您會看到頭昏眼花,而且不小心就key變數key錯地方了。

所以比較聰明的方法,是像下半邊的物件導向寫法。裡面程式碼簡單的意思就是今天有個Class叫做Drink(飲料),然後這個飲料下面有這些資訊(就像標籤一樣);然後最後一行表示有個叫做black_tea_A(A牌子的紅茶),然後每個變數是剛剛那樣設定(不過我好像下面多key了一個品牌,但這差異在這裡不重要)。結果就會像這樣(下圖):

這樣存成物件後,你就會(視覺上)像一杯有完整營養標示的新鮮屋紅茶,出現在你面前了。這樣往後維護程式碼等也比較容易,各自飲料、產品的變數也不會混在一起。是不是很棒呢?

  • 肥貓的異想世界

部落格列表

管理日誌
LibreOffice 正體中文文件
肥貓的異想世界
軟體自由運動部落格
馬哥的大小事
My Libre World
社會派宅爸

最新文章

test title
Interview with Sandy Corzeta, Admin of Indonesia's Fediverse Instance 'misskey.id'
簡單處理在Ubuntu終端機啟動Miniconda的問題
在LibreOffice Calc利用Vlookup做精準搜尋
現在就加入 LibreOffice 團隊當全職開發者,處理 RTL/CTL/CJK 等事宜!
[JS 筆記] 可選串連、條件三元、falsy、some與includes
用QGIS + OpenStreetMap + Python 處理線形地理資料
申請墨西哥簽證的經驗談
0805 ITTS 田野筆記:與印尼開源社群的初次接觸
Setting up Mailman3 on Debian 11 (Bullseye)
試解決Zotero安裝後無法使用LibreOffice Integration引用文獻的問題
2023年5月的 LibreOffice 之月的獲獎者!
Powered by Drupal