萬物皆爲對象。天然環境賦予人類無盡的遐想,而面向對象編程之思想就是來自於大天然。天然界,類和對象比比皆是,好比:鳥類和麻雀,魚和鯉魚......其中鳥類就是各類鳥的總稱,而麻雀只不過是其中之一(對象)。編程
何爲面向過程?何爲面向對象?這是編程界的「矛盾」之一。其實,我也傻傻分不清楚......只能拿喝酒來「開刀」。哦,不是拿它來舉個例子。函數
面向對象:ui
酒就是平常的生活飲品,酒就是一個抽象的class(類),「茅臺」就是酒的具體對象,乾杯就是喝酒的執行方法。spa
class Drinking_wine(object):設計
def __init__(self,name):code
self.name = name對象
def drinking():繼承
拿起酒瓶it
擰開酒蓋面向對象編程
倒酒
喝酒
而後調用類(Drinking_wine()):
maotai = Drinking_wine('茅臺') shuijingfang = Drinking_wine('水井坊') maotai.drinking() shuijingfang.drinking()
面向過程:
拿起桌子上的酒瓶->擰開酒蓋->拿出酒杯->倒出酒->再端起酒杯->嘴出「兄弟,乾杯!」->酒杯相碰->一飲而盡
def Drinking_wine():
拿起酒瓶
擰開酒蓋
倒酒
喝酒
面向對象編程——Object Oriented Programming,簡稱OOP,OOP把對象做爲程序的基本單元,一個對象包含了數據和操做數據的函數,是一種程序設計思想。
在Python中,全部數據類型(包括自定義對象)都可以視爲對象。數據類型能夠用type()識別。例如:
a = 4
type(a)
<class 'int'>
圖1 type用法示例
特別地,在Python編程環境中,自定義對象的數據類型就是面向對象中的類。故而,面向對象編程的設計思想就是抽象出Class,而後根據類建立instance(實例),再由實例調用函數。
面向對象編程總結以下:
1.面向對象的抽象程度又比函數要高,由於一個Class既包含數據,又包含操做數據的方法。
2.三大特色:繼承、多態和數據封裝
3.認識面向對象和麪向過程之間的差別