python 面向对象(三)

版权声明:此博客内容为本人学习笔记,转载请标明出处!本人所有文章仅发布于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,'知易行难')

猜你喜欢

转载自blog.csdn.net/weixin_40457797/article/details/83586368
今日推荐