如何在PYTHON里面实现多态

时间:2026-02-14 03:42:24

1、首先这里新建一个PY文档。

如何在PYTHON里面实现多态

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.")

        

#创建父类和子类,让子类继承父类的方法并且重写。

如何在PYTHON里面实现多态

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))

        

#如果我们定义另外一个类,要求和另外两个父子类有关联,可以实现吗?

如何在PYTHON里面实现多态

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)

#这个时候可以看出在另一个类里面设置参数,只要另一个类符合,都是可以调用的。

如何在PYTHON里面实现多态

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。

如何在PYTHON里面实现多态

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)

#即使另外一个类换了对象,也是一样能够进行关联。

如何在PYTHON里面实现多态

© 2026 海能知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com