python子類如何繼承父類的例項變數?

2021-10-18 03:26:50 字數 2338 閱讀 1093

型別1:父類和子類的例項變數均不需要傳遞

class a(object):

def __init__(self):

self.name = "cui"

def get_name(self):

return self.name

class b(a):

def __init__(self):

super(b,self).__init__()

self.age = 12

b = b()

型別2:父類的例項變數不需要傳遞,子類的例項變數需要傳遞

class a(object):

def __init__(self):

self.name = "zhang"

def get_name(self):

return self.name

class b(a):

def __init__(self,age):

super(b,self).__init__()

self.age = age

b = b("san")

型別3:父類有部分例項變數需要傳遞,子類例項變數需要傳遞

class a(object):

def __init__(self,***):

self.name = "zhang"

self.*** = ***

def get_name(self):

return self.name + self.***

class b(a):

def __init__(self,***,age):

super(b,self).__init__(***)

self.age = age

b = b("男",12)

型別4:父類和子類的所有變數都需要傳遞

class a(object):

def __init__(self,name,***):

self.name = name

self.*** = ***

def get_name(self):

return self.name + self.***

class b(a):

def __init__(self,name,***,age):

super(b,self).__init__(name,***)

self.age = age

b = b("zhang","男",12)

型別5:父類變數都需要傳遞,子類有部分例項變數需要傳遞

class a(object):

def __init__(self,name,***):

self.name = name

self.*** = ***

def get_name(self):

return self.name + self.***

class b(a):

def __init__(self,name,***,age):

super(b,self).__init__(name,***)

self.age = age

self.courage = "高中"

b = b("zhang","男",12)

型別6:父類和子類都有部分例項變數需要傳遞

class a(object):

def __init__(self,name):

self.name = name

self.*** = "女"

def get_name(self):

return self.name + self.***

class b(a):

def __init__(self,name,***,age):

super(b,self).__init__(name)

self.age = age

self.courage = "高中"

b = b("zhang","男",12)

總結:

子類繼承父類的建構函式中,在子類的建構函式中,__init__方法中的變數是包括自己和父類所有需要傳遞的變數,而在super().__init__方法中的引數僅僅包括父類需要傳遞的變數

def __init__(self,name,***,age):

super(b,self).__init__(name)

self.age = age

self.courage = "高中"

python子類如何繼承父類的例項變數?

型別1 父類和子類的例項變數均不需要傳遞 classa object def init self self.name cui defget name self return self.name class b a def init self super b,self init self.age 12...

py 子類繼承父類

class 派生類名 基類名 usr bin python coding utf 8 class parent 定義父類 parentattr 100def init self print 呼叫父類建構函式 defparentmethod self print 呼叫父類方法 defsetattr s...

php父類繼承子類 PHP父類方法繼承問題

有幾個類的很相似,只是其方法對資料處理的邏輯和最後資料輸出的結果有些差別,可以通過這樣的思路實現嗎?1.思路一,通過修改抽象函式邏輯實現返回值不同abstract class parentsclass child extends parentsclass child extends parents ...