標籤:執行 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面向過程和物件導向基礎