類型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,sex):
self.name = "zhang"
self.sex = sex
def get_name(self):
return self.name + self.sex
class B(A):
def __init__(self,sex,age):
super(B,self).__init__(sex)
self.age = age
b = B("男",12)
類型4:父類和子類的所有變量都需要傳遞
class A(object):
def __init__(self,name,sex):
self.name = name
self.sex = sex
def get_name(self):
return self.name + self.sex
class B(A):
def __init__(self,name,sex,age):
super(B,self).__init__(name,sex)
self.age = age
b = B("zhang","男",12)
類型5:父類變量都需要傳遞,子類有部分實例變量需要傳遞
class A(object):
def __init__(self,name,sex):
self.name = name
self.sex = sex
def get_name(self):
return self.name + self.sex
class B(A):
def __init__(self,name,sex,age):
super(B,self).__init__(name,sex)
self.age = age
self.courage = "高中"
b = B("zhang","男",12)
類型6:父類和子類都有部分實例變量需要傳遞
class A(object):
def __init__(self,name):
self.name = name
self.sex = "女"
def get_name(self):
return self.name + self.sex
class B(A):
def __init__(self,name,sex,age):
super(B,self).__init__(name)
self.age = age
self.courage = "高中"
b = B("zhang","男",12)
總結:
子類繼承父類的構造函數中,在子類的構造函數中,__init__方法中的變量是包括自己和父類所有需要傳遞的變量,而在super().__init__方法中的參數僅僅包括父類需要傳遞的變量
def __init__(self,name,sex,age):
super(B,self).__init__(name)
self.age = age
self.courage = "高中"
以上就是python子類如何繼承父類的實例變量的詳細內容,更多關于python子類繼承父類變量的資料請關注腳本之家其它相關文章!
您可能感興趣的文章:- 淺談對Python變量的一些認識理解
- python3 刪除所有自定義變量的操作
- Python全局變量global關鍵字詳解
- python變量作用域與列表入門詳解
- 總結Python變量的相關知識