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)
    
  • 相关阅读:
    linux嵌入式终端ssh无法输入中文以及删除中文异常
    DNS解析错误导致无法ping通网络
    嵌入式linux 打开ping端口
    嵌入式Linux vim编辑器支持中文
    常见BUG-Web
    考勤项目
    功能测试报告的编写
    04_postman环境变量和身份验证
    03_postman的collection管理
    02_postman断言
  • 原文地址:https://www.cnblogs.com/sch01ar/p/8361826.html
Copyright © 2011-2022 走看看