1. 程式人生 > 其它 >【Python】基礎學習(五)面向物件程式設計

【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()