python中類的封裝與繼承

2021-10-01 01:40:40 字數 2067 閱讀 6201

封裝就是將統一型別的內容放置在一起,通過self去呼叫

class people():

def __init__(self, name, age):

# self是物件,name是屬性,self.name就是將物件和屬性封裝在一起

self.name = name

self.age = age

def run(self):

print('%s is running...' % self.name)

p1 = people(name='octopus', age='10')

p1.run()

定義乙個類,從現有的某個類進行繼承

新的類,稱為子類,擴充套件類(subclass),被繼承的稱為父類,基類,超類

(baseclass、superclass)

**示例

繼承的工作機制

class father():

def __init__(self, name, age):

self.name = name

self.age = age

def eat(self):

print('%s is eating.' % self.name)

def sleep(self):

print('%s is sleeping.' % self.name)

class son(father):

def eat(self):

# 父類的呼叫方法

# father.eat(self)

# 不更改繼承名直接呼叫父類方法

super(son,self).eat()

print('play then eat.')

father = father('old', 40)

son = son('young', 20)

呼叫順序:例項化物件預設執行構造方法,子類沒有的方法呼叫父類

呼叫父類的方法

son.eat()

son.sleep()

繼承擁有傳遞性,子類擁有父類的父類…的方法

class animal():

def eat(self):

print('eat')

class cat(animal):

def miao(self):

print('miao')

c = cat()

c.eat()

c.miao()

class duolaameng(cat):

def speak(self):

print('speak')

c = duolaameng()

c.eat()

如果有多個相同的方法,繼承由前向後繼承

多型性

傳入多個子類時,只需要繼承父類就行

開閉原則:

擴充套件開放,允許子類重寫方法

修改封閉,擴充套件開放,直接繼承父類方法

**例項

class get_grades():

def get(self):

print('100')

class math(get_grades):

def get(self):

print('90')

class chinese(get_grades):

def get(self):

print('80')

a = math()

b = chinese()

a.get()

b.get()

python類封裝,繼承與多型

將類的函式偽裝成物件的屬性,使用該裝飾器裝飾的類的方法 可用物件名.方法名呼叫。此時不用加括號 此時的learn方法是用的類屬性的呼叫方式進行呼叫 類的繼承方式,在類名的括號中加入要繼承類的類名,當要繼承多個類時,用逗號隔開。利用類的內建屬性 bases 可以檢視當前類繼承了哪些類 在物件呼叫方法時...

python封裝與繼承

封裝步驟 1.屬性私有化,name 2.設定set和get方法,set name get name 3.新增安全條件判斷,引數型別判斷,取值範圍判斷 class dog object def init self legnum self.legnum legnum def set legnum sel...

Python類的封裝和繼承

python繼承 物件導向的三大特徵 封裝,繼承,多型 自動銷毀的方法 def del self print 物件正在銷毀 程式結束時自動呼叫 del self 測試乙個物件有多少個引用 import syssys.getrefcount 最少返回2,因為它把自己也當成乙個物件。繼承 子類繼承父類,...