Python面向過程和物件導向基礎

來源:互聯網
上載者:User

標籤:執行   div   自己的   一個   效果   現實生活   object   ide   抽象類別   

總結一下:

面向過程編程:根據商務邏輯從上到下的寫代碼-----就是一個project寫到底,重複利用性比較差

函數式:將某些特定功能代碼封裝到函數中------方便日後調用

物件導向:對函數進行分類封裝,使開發更快捷更靈活

 

面向過程編程:

1 name = "mac"2 age = 153 sex = ‘male‘4 #......5 print("%s‘s %s,%d years old!" %(name,sex,age))

函數式:

 1 def name(name): 2     print(‘name is %s‘ %name) 3 def age(age): 4     print(‘age is %d‘ %age) 5 def sex(sex): 6     print(‘sex is %s‘ %sex) 7  8 name(‘mac‘) 9 age(22)10 sex(‘male‘)

物件導向:

一、封裝

封裝,顧名思義就是將內容封裝到某個地方,以後再去調用被封裝在某處的內容。

所以,在使用物件導向的封裝特性時,需要:

  • 將內容封裝到某處
  • 從某處調用被封裝的內容
class Message():    def __init__(self,name,age):        self.name = name         self.__age = age            def get_name(self):        return self.name    def get_age(self):        return self.__agemessage = Message(‘MAC‘,23)print(message.get_name(),message.get_age())

二、繼承

繼承,物件導向中的繼承和現實生活中的繼承相同,即:子可以繼承父的內容。

 1 class Parent(object): 2     def __init__(self,name,age,sex): 3         self.name = name  4         self.__age = age        #表示私人 5         self.sex = sex 6          7     def get_name(self): 8         return self.name 9     def get_age(self):10         return self.__age11     def get_sex(self):12         return self.sex13     14 class Child(Parent):        #繼承Parent父類15     def get_age(self):16         return self.age17 18 P = Parent(‘mac‘,22,‘male‘)19 C = Child(‘YYY‘,24,‘female‘)20 print(P.get_name(),P.get_age(),P.get_sex())21 print(C.get_name(),C.get_sex())
View Code
 1 class Parent(object): 2     def __init__(self,name,age,sex): 3         self.name = name  4         self.__age = age        #表示私人 5         self.sex = sex 6          7     def get_name(self): 8         return self.name 9     def get_age(self):10         return self.__age11     def get_sex(self):12         return self.sex13     14 class Child1(Parent):        #繼承Parent父類15     def get_age(self,age):16         self.age = age        #私人類無法繼承17         return self.age

     def get_sex(self):
       return self.sex

18 class Child2(Parent):19     def get_age(self):20         return self.age21 def func(x):22     x.get_age23 24 P = Parent(‘mac‘,22,‘male‘)25 C1 = Child1(‘YYY1‘,24,‘female‘)26 C2 = Child2(‘YYY2‘,24,‘female‘)27 print(P.get_name(),P.get_age(),P.get_sex())28 print(C1.get_name(),C1.get_sex(),C1.get_age(23))#調用自己的get_age()

三、多態 和多態性

多態指的是一類事物有多種形態,(一個抽象類別有多個子類,因而多態的概念依賴於繼承)

一 什麼是多態性(請務必注意注意注意:多態與多態性是兩種概念。)

多態性是指具有不同功能的函數可以使用相同的函數名,這樣就可以用一個函數名調用不同功能的函數。

在物件導向方法中一般是這樣表述多態性:向不同的對象發送同一條訊息(!!!obj.func():是調用了obj的方法func,又稱為向obj發送了一條訊息func),不同的對象在接收時會產生不同的行為(即方法)。也就是說,每個對象可以用自己的方式去響應共同的訊息。所謂訊息,就是調用函數,不同的行為就是指不同的實現,即執行不同的函數。

比如:老師.下課鈴響了(),學生.下課鈴響了(),老師執行的是下班操作,學生執行的是放學操作,雖然二者訊息一樣,但是執行的效果不同

多態性分為靜態多態性和動態多態性

靜態多態性:如任何類型都可以用運算子+進行運算

動態多態性:如下

 1 class Parent(object): 2     def __init__(self,name,age,sex): 3         self.name = name  4         self.__age = age        #表示私人 5         self.sex = sex 6          7     def get_name(self): 8         return self.name 9     def get_age(self):10         return self.__age11     def get_sex(self):12         return self.sex13     14 class Child1(Parent):        #繼承Parent父類15     def get_age(self,age):16         self.age = age17         return self.age18     def get_sex(self):19         print(self.sex)20 class Child2(Parent):21     def get_sex(self):22         print (self.sex)23 def func(x):24     x.get_sex()25 26 P = Parent(‘mac‘,22,‘male‘)27 C1 = Child1(‘YYY1‘,24,‘male‘)28 C2 = Child2(‘YYY2‘,24,‘female‘)29 C1.get_sex()30 C2.get_sex()31 func(C1)32 func(C2)

 

Python面向過程和物件導向基礎

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.