如何在PYTHON里面实现多态

2025-11-22 08:46:53

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里面实现多态

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢