方格精選

程式概念 - python物件導向

更新於 2021/10/08閱讀時間約 4 分鐘
前言
續上一個介紹關於程式中常有的基本概念,通常在程式專案中都會用到物件導向的概念,因為方便管理、也讓程式架構更明確。而在最近閱讀'學習如何學習'時,我發現在看完資料後,考自己一些小問題可以更幫助記憶,決定加上這部分!寫程式概念真的是很花時間的一份功課阿,碰到不知道該如何解釋的要再搜尋一些資料,不過感覺基礎打得更好。
正文來囉
物件導向主要有以下幾個基礎:
類別class、物件object、屬性attribute、建構式constructor、方法method
物件導向是程式設計的一種方法,因此這邊利用設計師的角度來理解這些基礎觀念!下兩張圖為基本的程式碼與將程式碼轉換為幫助記憶的圖。
類別class
類別(class)定義一件事物的抽象特點。我說類別(class)是設計師的藍圖,在這使用夾娃娃機舉例,想像自己是一個設計夾娃娃機的人,很酷吧!就像機器生產前設計師會先有設計藍圖,並訂出規格與使用方法,我們會在類別(class)中定義屬性(attribute)與方法(method)。
通常類別名稱的命名方法,習慣讓每個單字為大寫,且不使用空白與底線分隔單字,Ex:MyMachine。
物件object
物件(object)是類別(class)的實例。我說物件(object)是設計師依照藍圖做出來的產品,而當我投幣到第一台不可能是第二台可以玩遊戲吧,這說明當我們宣告物件時,他們彼此都是獨立的。
屬性 attribute
屬性(attribute)負責存放物件 (object)的資料。就像每個產品都有他的特性。在宣告物件後才會設定屬性(attribute)(如下圖),就像你生產產品後貼上的標籤,註明該產品品牌、編號、耗電量。
建構式 constructor
我們發現上一圖屬性(attribute)需要一行一行宣告,太費力!因此我們可以在建構式(constructor)先初始化物件(object)的屬性值,也就是在藍圖先決定我們這台機器會有的屬性值,在生產時就可以一次將這些全寫在標籤上。
在建構式中有四個參數,而我們只需要填三個的原因是python會自動幫我們把物件名稱cute送入建構式中,所以不需要再填入該參數。
方法method
方法可以想像是物件(Object)的行為。也就是這個產品會有的行為,創建方法(method)和函式(function)很像,但創建方法本身就要有self這個參數喔!
定義方法
使用方法,和前面一樣self是不需要填的參數python會自己處理!
圖片
複習問題
(1) 解釋類別class、物件object、屬性attribute、建構式constructor、方法method。
(2) 為甚麼要有建構式?
(3) 在物件導向的程式碼中哪一個參數python會自己處理是不需要填入的?
(4) 使著用上帝視角,當你要創建動物時,用物件導向的概念來解釋吧!
資料來源
藍圖icon <div>Icons made by <a href="https://www.freepik.com" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a></div>
機器icon <div>Icons made by <a href="https://www.freepik.com" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a></div>
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
avatar-img
10會員
17內容數
關於多益的單字整理、記憶方法、心路歷程、英文的基礎概念。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
薰魚的沙龍 的其他內容
用python寫出應用筆電相機儲存照片。
用python寫出應用筆電相機儲存照片。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
常常會遇到好不容易寫好程式,但是輸出的時候沒辦法按照自己想要的格式,或是間隔來輸出,這時需要用到的就是格式化輸出,格式化輸出就是調整排版的一個形式。
Thumbnail
一開始接觸網頁開發的時候,可能會常常在切版時遇到一些奇奇怪怪的問題:版面總是無法貼齊,左右參差不齊;圖片或是版型變形,但都找不到問題,又或者是技術跟不上設計稿,怎麼切怎麼亂。 會有這樣的狀況主要是⋯⋯
關於重生就是要讓自己帶著不同的信念重新活一次,若還是執著於舊日那些讓自己陷入情緒崩潰的扭曲信念,那憂鬱症想當然爾會捲土重來.其實我”重新活過來後”仔細思考過這件事,通常讓我們產生負面情緒的感受都是來自己從小到大累積的扭曲信念所造成. 當然這些扭曲信念有些是來自源生家庭給予的錯誤觀念也有很多是整個社會
Thumbnail
很多文章都說未來是人工智慧的時代,程式語言是必備能力,靠著一時腦熱蒐集了許多資訊,我想說學習不用很厲害才開始,只要有興趣就開始吧,就算用不到也沒關係!
Thumbnail
​ 小小麥發源自台中市中友百貨小小麥的日式街頭小店,屋台設計的開放式廚房顛覆你對日式料理的概念,這間就是要讓你吃日式料理的街頭的概念。在台北市信義區的巷弄中你也吃的到。最上好的日本料理,卻往往隱身在超級難找的後巷及地下室裡。這些當地人稱之為「割烹」的精緻料理,雖然需要探險尋寶般努力尋找,一不小心就
Thumbnail
Python 從創立之初的沒沒無名,至今被譽為「初學者最佳語言」,在 Python  社群背後默默貢獻的「鄉民」們居功厥偉!讓我們來看一下 Python 那些年的歷歷往事。
Thumbnail
3月28日星期四,在巴黎市長、出生巴黎的丹麥王妃等人的剪綵下,拉法葉百貨集團位於香榭大道的全新概念店正式開幕。自去年十一月開始每週六的黃背心運動後,這家店的開幕對破壞嚴重的香榭大道來說,是一個對商業市場的鼓舞。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
常常會遇到好不容易寫好程式,但是輸出的時候沒辦法按照自己想要的格式,或是間隔來輸出,這時需要用到的就是格式化輸出,格式化輸出就是調整排版的一個形式。
Thumbnail
一開始接觸網頁開發的時候,可能會常常在切版時遇到一些奇奇怪怪的問題:版面總是無法貼齊,左右參差不齊;圖片或是版型變形,但都找不到問題,又或者是技術跟不上設計稿,怎麼切怎麼亂。 會有這樣的狀況主要是⋯⋯
關於重生就是要讓自己帶著不同的信念重新活一次,若還是執著於舊日那些讓自己陷入情緒崩潰的扭曲信念,那憂鬱症想當然爾會捲土重來.其實我”重新活過來後”仔細思考過這件事,通常讓我們產生負面情緒的感受都是來自己從小到大累積的扭曲信念所造成. 當然這些扭曲信念有些是來自源生家庭給予的錯誤觀念也有很多是整個社會
Thumbnail
很多文章都說未來是人工智慧的時代,程式語言是必備能力,靠著一時腦熱蒐集了許多資訊,我想說學習不用很厲害才開始,只要有興趣就開始吧,就算用不到也沒關係!
Thumbnail
​ 小小麥發源自台中市中友百貨小小麥的日式街頭小店,屋台設計的開放式廚房顛覆你對日式料理的概念,這間就是要讓你吃日式料理的街頭的概念。在台北市信義區的巷弄中你也吃的到。最上好的日本料理,卻往往隱身在超級難找的後巷及地下室裡。這些當地人稱之為「割烹」的精緻料理,雖然需要探險尋寶般努力尋找,一不小心就
Thumbnail
Python 從創立之初的沒沒無名,至今被譽為「初學者最佳語言」,在 Python  社群背後默默貢獻的「鄉民」們居功厥偉!讓我們來看一下 Python 那些年的歷歷往事。
Thumbnail
3月28日星期四,在巴黎市長、出生巴黎的丹麥王妃等人的剪綵下,拉法葉百貨集團位於香榭大道的全新概念店正式開幕。自去年十一月開始每週六的黃背心運動後,這家店的開幕對破壞嚴重的香榭大道來說,是一個對商業市場的鼓舞。