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()
不积跬步无以至千里
喵喵喵~
我是一条小狗~