版权声明:此博客内容为本人学习笔记,转载请标明出处!本人所有文章仅发布于CSDN! https://blog.csdn.net/weixin_40457797/article/details/83586368
继承:
#一般写代码时,是一个类一个文件,所以当类继承时,需要调用模块#
#设父类、子类都在一个目录下,父类为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,'知易行难')