继承/组合

继承(若B中有与A中相同的对象名,覆盖A)

class A :
    x = 520
    def hello(self):
        print("你好,我是A!")

        
class B(A):       #B类继承了A类的属性
    pass

b = B()            #实例化B的一个对象
b.hello()          
你好,我是A!
b.x
520

判断对象是否属于某个类isinstance

isinstance(b, B)
True
isinstance(b, A)
True

issubclass鉴定一个类是否是某个类的子类

issubclass(A, B)
False
issubclass(B, A)
True

多重继承

class B:
    x = 880
    y = 250
    def hello(self):
        print("你好,我是B")

        
class C(A, B):   #同时继承A和B
    pass

c=C()
c.x               #A类和B类都有x,继承A的,继承顺序从左到右
520
c.hello()
你好,我是A!
c.y
250

组合(包含的关系,不是从属的关系,所以组合起来)

class Turtle:
    def say(self):
        print("不积跬步无以至千里")

        
class Cat:
    def say(self):
        print("喵喵喵~")

        
class Dog:
    def say(self):
        print("我是一条小狗~")

        
class Garden:
    t = Turtle()
    c = Cat()
    d = Dog()
    def say(self):
        self.t.say()
        self.c.say()
        self.d.say()

        
g = Garden()
g.say
<bound method Garden.say of <__main__.Garden object at 0x0000019B267855D0>>
g.say()
不积跬步无以至千里
喵喵喵~
我是一条小狗~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值