python 面向对象编程-2

本文通过具体的Python代码示例介绍了类的定义、私有成员的使用、构造函数的初始化过程以及子类如何继承父类的方法和属性。此外,还探讨了多继承的实现和方法解析顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 继承实例说明
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我是特工,耗子
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值