如何在PYTHON里面实现多态
1、首先这里新建一个PY文档。

2、class Children(object):
def __init__(self, name):
self.name = name
def play(self):
print("playing video games.")
class Baby(Children):
def play(self):
print("playing toys.")
#创建父类和子类,让子类继承父类的方法并且重写。

3、class Children(object):
def __init__(self, name):
self.name = name
def play(self):
print("playing video games.")
class Baby(Children):
def play(self):
print("playing toys.")
class Adult(object):
def __init__(self):
self.name = name
def play_with_kid(self, kid):
print("%s and %s are %s" %(kid.name, self.name, kid.play))
#如果我们定义另外一个类,要求和另外两个父子类有关联,可以实现吗?

4、class Children(object):
def __init__(self, name):
self.name = name
def play(self):
print("playing video games.")
class Baby(Children):
def play(self):
print("playing toys.")
class Adult(object):
def __init__(self, name):
self.name = name
def play_with_kid(self, kid):
print("%s and %s are playing." % (kid.name, self.name))
kid.play()
peter = Children("Peter")
father = Adult("Father")
father.play_with_kid(peter)
#这个时候可以看出在另一个类里面设置参数,只要另一个类符合,都是可以调用的。

5、class Children(object):
def __init__(self, name):
self.name = name
def play(self):
print("playing video games.")
class Baby(Children):
def play(self):
print("playing toys.")
class Adult(object):
def __init__(self, name):
self.name = name
def play_with_kid(self, kid):
return "I am " + str(kid.play())
alice = Baby("Alice")
father = Adult("Father")
father.play_with_kid(alice)
#但是这里要注意的是如果这样调用方法是不行的,因为属于None。

6、class Children(object):
def __init__(self, name):
self.name = name
def play(self):
print("playing video games.")
class Baby(Children):
def play(self):
print("playing toys.")
class Adult(object):
def __init__(self, name):
self.name = name
def play_with_kid(self, kid):
print("%s and %s are playing." % (kid.name, self.name))
kid.play()
peter = Children("Peter")
mother = Adult("Mom")
mother.play_with_kid(peter)
#即使另外一个类换了对象,也是一样能够进行关联。
