python 物件導向(三)

2021-08-30 13:40:59 字數 2186 閱讀 4246

繼承:

#一般寫**時,是乙個類乙個檔案,所以當類繼承時,需要呼叫模組#

#設父類、子類都在乙個目錄下,父類為free.py,子類為fuze.py#

#第一種繼承#

#父類:#

class lexname():

name = ''

def __init__(self,name):

self.name = name

def hello(self,a,__name):

self.a = a

self.__name = __name

if a < 0:

print('不能打負分')

elif a > 100:

print('不能超過100分')

else:

print(self.__name + '同學,分數為:' + str(self.a) + '分')

return a,__name

#子類:#

import free

class fox(free.lexname):

pass

#第二種(較為常用):#

#子類:#

from free import lexname

class fox(lexname):

pass

#在子類中呼叫父類的建構函式變數:#

#第一種(這一種沒有意義,但是也可以呼叫):#

from free import lexname

class fox(lexname):

number = 0

def __init__(self,number,name):

self.number = number

lexname.__init__(self,name)

def first(self):

pass

fox1 = fox(70,'知易行難')

print(fox1.number)

print(fox1.name)

#在子類中呼叫父類的建構函式變數:#

#第二種(常見的是這一種,利用super傳遞):#

from free import lexname

class fox(lexname):

number = 0

def __init__(self,number,name):

self.number = number

super(fox,self).__init__(name)

def first(self):

pass

fox1 = fox(70,'知易行難')

print(fox1.number)

print(fox1.name)

#子類例項(非建構函式)也可以呼叫父類例項(非建構函式)#

#父類:#

class lexname():

name = ''

def __init__(self,name):

self.name = name

def hello(self,a,name1):

self.a = a

self.name1 = name1

if a < 0:

print('不能打負分')

elif a > 100:

print('不能超過100分')

else:

print(self.name1 + '同學,分數為:' + str(self.a) + '分')

return a,name1

#子類:#

from free import lexname

class fox(lexname):

number = 0

def __init__(self,number,name):

self.number = number

super(fox,self).__init__(name)

def first(self,a,name1):

super(fox,self).hello(a,name1)

print('ninhao')

fox1 = fox(70,'知易行難')

print(fox1.number)

print(fox1.name)

fox1.first(90,'知易行難')

Python物件導向(三)

多型 不同的子類物件呼叫相同的父類方法,產生不同的執行效果,不同效果的產生以在子類中重寫父類方法為前提。在python中類是乙個特殊的物件,既然類是物件,那麼類也具有類屬性和類方法 1.類屬性概念和使用 類屬性通常用來記錄與這個類相關的特徵,類屬性不會用來記錄具體物件的特徵,例如給類定義乙個coun...

python物件導向基礎(三)

身份運算子用於比較兩個物件的記憶體位址是否一致 是否是對同乙個物件的引用 運算子描述 例項is is 是判斷兩個識別符號是不是引用同乙個物件 x is y,類似 id x id y is not is not 是判斷兩個識別符號是不是引用不同物件 x is not y,類似 id a id b is...

python物件導向三大特性

定義 封裝一些資料和方法,只給外界提供必要的功能,掩蓋細節,提高 復用性和系統安全性。資料角度 用乙個類包裝多個變數,還可以定義方法,運算元據 行為角度 不同程式設計師開發乙個專案的不同功能,在使用時,直接呼叫,不需要思考其內部實現 設計角度 1 分而治之 拿到需求之後,分析需求,將需求拆解為不同的...