python 面向对象编程-2

  • 继承实例说明
class testdemo:
    __money=1000 #私有变量
    def __init__(self,name,note): #类构造函数初始化数据
        self.name=name
        self.note=note
    def calltest(self): #正常定义的函数
        print("我是特工:",self.name,"代号:",self.note)
    def __calltest2(self): #私有函数
        print("我是私有的。。",self.__money)

    def calltest3(self):
        t=input("请输入信息。。。")
        if t=="马云飞":
            self.__calltest2()
        else:
            print("我是特务")

#父类访问
t=testdemo("钱之江","毒蛇")
t.calltest() #调用正常函数
t.calltest3() #调用私有函数
##定义子类继承父类testdemo
class testbody(testdemo):
    def __init__(self,name,note,sex): #子类构造函数,扩展了sex新的字段
        super().__init__(name,note)#调用父类构造函数
        self.sex=sex
        print(name,note,sex)
    def callbody1(self): #子类的一个函数
        super().calltest() #调用父类的函数
        print("我是特工一号",self.name,self.sex)
    def callbody2(self):#子类另一个属性
        print("杀人去特工一号",self.name)

p=testbody("大白兔","一号","女")
p.callbody1()
p.callbody2()
  • 多继承代码框架简介
## 多继承
class tegong1(testdemo):
    def te1(self):
        print("tegong1我是特工,公牛",self.name,self.note)
    def te2(self):
        print("tegong1我是特工,警犬")
class tegong2(testdemo):
    def te1(self):
        print("tegong2我是特工,猴子")
    def te2(self):
        print("tegong2我是特工,耗子")
class xueyuan(tegong1,tegong2):##继承父类tegong1,tegong2
    pass
class xueyuan1(tegong2,tegong1):##继承父类tegong1,tegong2
    pass
print("=======下属结果为多继承=======")
s=xueyuan("公牛","电报")
s.te1()
s.te2()
q=xueyuan1("毒蛇","监控")
q.te1()
q.te2()

xueyuan1 继承了特工1和特工2的两个类,并且这两个类继承了祖类testdemo,如上述继承方式访问情况如下,在多继承中
(tegong1,tegong2)已这种情况运行时,以tegong1为主 
  • 运行结果
我是特工: 钱之江 代号: 毒蛇
请输入信息。。。马云飞
我是私有的。。 1000
大白兔 一号 女
我是特工: 大白兔 代号: 一号
我是特工一号 大白兔 女
杀人去特工一号 大白兔
=======子类继承访问=======
=======多继承=======
tegong1我是特工,公牛 公牛 电报
tegong1我是特工,警犬
tegong2我是特工,猴子
tegong2我是特工,耗子

猜你喜欢

转载自blog.csdn.net/u013279518/article/details/89059517