過程導向和麵對物件是一種程式設計思想,不能說某某語言是不是物件導向或是面向過程,而是某某語言是否支援物件導向或流程導向程式設計。
回歸主題,python可以支援物件導向,但也可以支援面向過程,即使不支援物件導向的語言,例如c語言,也可以用物件導向的思想寫程式。你可以理解物件導向為“模組化”,而恰巧python可以做到這一點,自己寫的函數檔案可以用import引用模組,即使不使用class定義類,也可以實現物件導向的想法。
物件導向
1. 什麼是物件導向
先要搞清楚什麼是物件(Object)。通俗來講,就是東西。我們這個世界就是由各種各種的東西組成的。東西與東西之間有彼此的連結、現實生活中我們描述一個東西,或是一個物品的時候,常常會從2個面向來進行描述。例如我要描述一個手機,首先第一個就是外觀(屬性):白色 5.5吋 矩形,接下來就是從功能來進行描述:看電影 打電話 玩遊戲。
2. 物件導向與流程導向的差異
問題導向的特性:由頂自下,依序執行,我們需要去考慮每一個步驟。
物件導向的特徵:物件導向更符合我們人類的思想。我們只需要找到我們需要的對象。
ATM機取錢
面對過程:我們需要考慮每一個步驟,例如取錢的時候金額是多少,餘額是多少,用戶的輸入是否合法
物件導向:只需考慮這個ATM這個物件即可
3. 物件導向的特性
一般來講,物件導向的特性有3個:封裝,繼承和多態
有些老的教材,會告訴你物件導向的特質有4個:除了上面3個以外,還多加了一個抽象
封裝:就是將細節隱藏起來,不向外部暴露。例如現實生活中電視機就是一個典型的封裝,無法看到內部電子元件這些細節
繼承:和現實生活中一樣,兒子可以繼承父親的某些東西。在程式裡面子類別可以繼承父類別。
多型態:如果從語言的角度來看,就是不同物件相同方法的作用不一樣。例如現實生活中,一個action這個字對於不同的職業的人來講,意義是不一樣的。
以上是python面向什麼編程的詳細內容。更多資訊請關注PHP中文網其他相關文章!