移至主內容
首頁
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了一個品牌,但這差異在這裡不重要)。結果就會像這樣(下圖):

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

  • 肥貓的異想世界
  • Log in or register to post comments

部落格列表

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

最新文章

簡單處理在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 之月的獲獎者!
提醒:LibreOffice Conference
2023年5月的 LibreOffice 之月,中途點!
Powered by Drupal