python之物件導向程式設計

2021-08-21 17:53:11 字數 1299 閱讀 2646

物件導向的程式設計的核心是物件(上帝式思維),要理解物件為何物,必須把自己當成上帝,上帝眼裡世間存在的萬物皆為物件,不存在的也可以創造出來。物件是特徵和技能的結合,其中特徵和技能分別對應物件的資料屬性和方法屬性。 

優點是:解決了程式的擴充套件性。對某乙個物件單獨修改,會立刻反映到整個體系中,如對遊戲中乙個人物引數的特徵和技能修改都很容易。 

缺點:可控性差,無法向面向過程的程式設計流水線式的可以很精準的**問題的處理流程與結果,物件導向的程式一旦開始就由物件之間的互動解決問題,即便是上帝也無法**最終結果。

應用場景:需求經常變化的軟體,一般需求的變化都集中在使用者層,網際網路應用,企業內部軟體,遊戲等都是物件導向的程式設計大顯身手的好地方。 

類(class):用來描述具有相同的屬性和方法的物件的集合。它定義了該集合中每個物件所共有的屬性和方法。物件是類的例項。

物件:通過類定義的資料結構例項。物件包括兩個資料成員(類變數和例項變數)和方法。

類的宣告定義

通過class 關鍵字進行定義

----------------------------------

class 資料型別名稱:

型別中的**

example:

# 建立乙個person型別

class person:

pass

class person:

# 定義屬性、特徵

# 固定寫法:在__init__方法中,定義型別的屬性

def __init__(self, name, age, gender):

self.name = name

self.age = age

self.gender = gender

# 定義方法、行為

def eat(self, food):

print("吃飯了")

注意1:class 關鍵字,用來宣告定義乙個型別,固定寫法

注意2:型別中的所有函式,第乙個引數self表示當前物件,類似生活中的乙個名詞:我

注意3:型別中的函式,必須稱為方法;

函式  vs  方法 : 兩個東西

方法是一種特殊的函式,只能在型別中使用!

注意4:型別中方法,第乙個引數:指代的是當前物件~~~一般被宣告為self

表示當前物件,呼叫的時候不需要傳遞資料給self!

tom.eat("魚香肉絲")

Python之物件導向程式設計

類和物件 類是抽象的模板,比如我們抽象乙個學生類,很容易想到學生固有的一些屬性,比如名字,年齡等等,建立乙個學生類 class student object pass 複製 這裡的object是表明student類是從哪個類繼承來的,在python中object是所有類的父類 繼承的概念下文會提及 ...

python之物件導向程式設計

當使用 類名 實參 建立例項物件時,python直譯器的主要處理過程包括兩大步 首先會查詢該類物件是否實現了特殊方法 new 如果沒有實現,則去其父類中依次查詢,直到類物件object。class parent object def new cls,args,kwargs pass class ch...

Python之物件導向程式設計介紹

面向過程 procedure oriented 是一種以過程為中心的程式設計思想。這些都是以什麼正在發生為 目標進行程式設計,不同於物件導向的是誰在受影響。與物件導向明顯的不同就是封裝 繼承 類。例如 五子棋,面向過程的設計思路就是首先分析問題的步驟 1 開始遊戲,2 黑子先走,3 繪製畫面,4 判...