【Python】基礎學習(五)面向物件程式設計
面向過程程式設計的:C
面向物件的程式設計:java,python
面向過程:
一種以過程為中心的程式設計思想;例如:把大象放冰箱裡分三步。
簡單的事情;
面向物件:
一種更符合我們思維習慣的程式設計思想;例如,生產一個汽車,把汽車的零件拆分,分不同的團隊去生產,最後將零件組裝成汽車;
面向物件開發就是不斷的建立物件,使用物件,操作物件做事情;例如:人類,張三 就是一個例項;
複雜的事情
語言層面:封裝程式碼和資料
規格層面:物件是一系列可被使用的公共介面
從概念層面:物件是某種擁有責任的抽象
面向物件和麵向過程是相輔相成的,底層的邏輯也可能是面向過程的;
面向物件程式設計規則:
首先分析有哪些類
每個類有哪些屬性和行為
類與類之間存在的關係
類、例項、方法、變數
類:抽象的概念,一類事物。
方法:類中定義的函式,對外提供的服務。例如,介面
類變數:類裡擁有的屬性,類變數在真個例項化的物件中是公用的;可以通過類進行訪問,可以被修改,例如,persion.name
例項引用:例項化一個物件
例項變數:以self.變數名 的方式定義的變數;通過例項引用,可以被修改,例如,zs = persion() zs.name
類方法和例項方法的區別
類方法是不能直接訪問,如果要訪問需要加裝飾器,@classmethod,加了裝飾器可以通過例項方法進行方法
例項方法是可以直接進行訪問的
例:
1----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
class Person: #類 name = "Name" #類變數,屬性 age = 20 gender = "male" def __init__(self,name): #構造方法,初始化的方法 執行zs = Person()之前會先執行__init__ print("init fuction") self.name = name #例項變數,每個例項擁有的屬性 def set_param(self,name): #設定類的屬性值;該方法比較麻煩,set_param自己睡衣定義的 self.name = name def dance(self): #方法 print("會跳舞") def sing(self): print("會唱歌") zs = Person(name="Bob") #類的例項化 zs.dance() #方法 zs.name #屬性 zs.__dict__ #內建的方法
2--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
class Person: #類 name = "Name" #類變數,屬性 age = 20 gender = "male" def __init__(self,name): #構造方法,初始化的方法 執行zs = Person()之前會先執行__init__ print("init fuction") self.name = name def dance(self): #方法 print("會跳舞") @classmethod def sing(self): print("會唱歌") Person.sing()