zoukankan      html  css  js  c++  java
  • 接口类的多继承





    #tiger 走路 游泳
    #swan 走路 游泳 飞
    #oldying 走路 飞、
    import abc
    from abc import ABCMeta
    class Swam_animal(metaclass=ABCMeta):
    @abc.abstractmethod
    def swam(self):
    pass
    class Fly_animal(metaclass=ABCMeta):
    @abc.abstractmethod
    def fly(self):
    pass
    class Walk_animal(metaclass=ABCMeta):
    @abc.abstractmethod
    def walk(self):
    pass

    class Tiger(Walk_animal,Swam_animal):
    pass
    class oldying(Fly_animal,Walk_animal):
    pass

    class swan(Walk_animal,Swam_animal,Fly_animal):
    pass

    #接口类的原则 接口隔离原则,应给有多个专用的接口,不使用单一的接口,客户端不依赖于那些不需要的接口

    #抽象类只能被继承,不能被实例化
    #抽象类一般都是单继承,实现的功能都是一样的,所以在父类中可以有一些简单的父类实现
    #多继承的情况,由于功能比较 复杂,所以不容易抽象出相同的功能的具体的实现在写在父类中
    #抽象类和接口类:面向对象开发规范
    #python中没有接口类,Java中没有多继承
    #python中自带多继承,所以用class实现了接口类
    #python中支持抽象类,Java中所有的抽象类是单继承的,python中可以多继承,一般情况下是单继承
    #但对于多继承,在Java中使用interface来解决多继承的规范问题
  • 相关阅读:
    vue 中简单路由的实现
    Vue中对生命周期的理解
    内存泄漏
    前端工程化
    exports 和 module.exports 的区别
    Nodejs的url模块方法
    MongoDB 的获取和安装
    Anjular JS 的一些运用
    移动端vconsole调试
    安装fiddler时,电脑浏览器没网
  • 原文地址:https://www.cnblogs.com/648071634com/p/11884655.html
Copyright © 2011-2022 走看看