python 面向对象(三大特性)
生活随笔
收集整理的這篇文章主要介紹了
python 面向对象(三大特性)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python 面向對象(初級)
(思維導圖 ↑↑↑↑↑)
概述:
面向過程:根據業務邏輯從上到下壘代碼.
函數式:將某功能代碼封裝至函數中,日后便無需重復編寫,僅調用函數即可
面向對象:對函數進行分類和封裝,讓開發"更快更好更強..."
?
創建類和對象:
面向對象編程是一種編程方式,此編程方式的落地需要使用"類"和"對象"來實現,所以,面向對象編程其實就是對"類"和"對象"的使用.
?
class Foo:# 創建類中的函數def Bar(self):print('bar')def Hello(self,name):print('我叫%s'% name)# 根據類Foo創建對象obj obj = Foo() obj.Bar() # 執行Bar方法 obj.Hello('裴杰') # 執行Hello方法?
?
面向對象三大特性:
一.封裝
封裝,顧名思義就是將內容封裝到某個地方,以后再去調用被封裝在某處的內容.所以,在使用面向對象的封裝特性時,需要:
-將內容封裝到某處
-從某處調用被封裝的內容
# 創建類 class Foo:def __init__(self,name,age): # 構造方法,根據類的創建對象時自動執行.self.name = nameself.age = agedef func(self):print('姓名:%s,年齡:%s' % (self.name,self.age))# 根據Foo創建對象 # 自動執行Foo類的 __init__ 方法 obj1 = Foo('裴杰',80) obj2 = Foo('張博文',18) obj1.func() obj2.func()?
二.繼承
繼承,面向對象中的繼承和實現生活中的相同,即:子可以繼承父的內容.
例如:
?
class Animal:def eat(self):print('%s 吃 ' % self.name)def drink(self):print('%s 喝 ' % self.name)def shit(self):print('%s 拉 ' % self.name)def pee(self):print('%s 撒 ' % self.name)class Cat(Animal):def __init__(self,name):self.name = nameself.breed = '貓'def cry(self):print('喵喵叫')class Dog(Animal):def __init__(self,name):self.name = nameself.breed = '狗'def cry(self):print('汪汪叫')######## 執行 ######### c1 = Cat('裴杰家的小黑貓') c1.eat()c2 = Cat('裴杰家的小白貓') c2.drink()d1 = Dog('李承家的小傻裴') d1.eat()?
三.多態
python崇尚"鴨子類型"
class F1:passclass S1(F1):def show(self):print('S1.show')class S2(F1):def show(self):print('S2.show')def Func(obj):print(obj.show())s1_obj = S1() Func(s1_obj)s2_obj = S2() Func(s2_obj)?
轉載于:https://www.cnblogs.com/zbw582922417/p/9542466.html
總結
以上是生活随笔為你收集整理的python 面向对象(三大特性)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ2339: [HNOI2011]
- 下一篇: 【cordova打包】环境配置