zoukankan      html  css  js  c++  java
  • Python类(四)-多态

    多态即一个接口,多种实现

    按照平常直接调用

    # -*- coding:utf-8 -*-
    __author__ = "MuT6 Sch01aR"
    
    class Person(object):
        def __init__(self,name):
            self.name = name
    
    class Student(Person):
        def talk(self):
            print('%s is studying'%self.name)
    
    class Teacher(Person):
        def talk(self):
            print('%s is teaching'%self.name)
    
    if __name__ == '__main__':
        Student('John').talk()
        Teacher('Jane').talk()
    

    通过定义函数来实现多态

    # -*- coding:utf-8 -*-
    __author__ = "MuT6 Sch01aR"
    
    class Person(object):
        def __init__(self,name):
            self.name = name
    
    class Student(Person):
        def talk(self):
            print('%s is studying'%self.name)
    
    class Teacher(Person):
        def talk(self):
            print('%s is teaching'%self.name)
    
    def Person_Talk(n):
        n.talk()
    
    if __name__ == '__main__':
        s = Student('John')
        t = Teacher('Jane')
        Person_Talk(s)
        Person_Talk(t)
    

     通过父类调用来实现多态

    # -*- coding:utf-8 -*-
    __author__ = "MuT6 Sch01aR"
    
    class Person(object):
        def __init__(self,name):
            self.name = name
    
        @staticmethod
        def Person_Talk(n):
            n.talk()
        
    class Student(Person):
        def talk(self):
            print('%s is studying'%self.name)
    
    class Teacher(Person):
        def talk(self):
            print('%s is teaching'%self.name)
    
    if __name__ == '__main__':
        s = Student('John')
        t = Teacher('Jane')
        Person.Person_Talk(s)
        Person.Person_Talk(t)
    
  • 相关阅读:
    命令行jarsigner签字和解决找不到证书链错误
    ERROR ITMS-90034
    module.exports 和 exports
    php扩展包
    switch的使用
    debug安卓屏幕滑动会抖动
    react native编译报错
    使用iTerm2替代Mac自带Terminal终端
    编码转换
    git 操作远程 本地缓存删除
  • 原文地址:https://www.cnblogs.com/sch01ar/p/8361826.html
Copyright © 2011-2022 走看看