Python教程:抽象类与归一化

继承的两种用途:java

1.继承基类的方法,而且作出本身的改变或者扩展(代码复用)python

2.声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实现函数

接口的功能,子类继承接口类,而且实现接口中的功能。学习

1、什么是抽象类设计

与java同样,python也有抽象类的概念,可是须要借助模块实现。抽象类是一个特殊的类,它的特殊之处在于只code

能被继承,不能被实例化。对象

抽象类与普通类的不一样之处在于:抽象类中只能有抽象方法(没有实现功能),该类不能被实例化,只能被继承,继承

且子类必须实现抽象方法。接口

2、什么是接口权限控制

接口能够理解为本身给使用者来调用本身功能方法的入口。

3、为何要用接口

(1)能够实现权限控制,好比能够经过接口作一下访问控制,能够容许或者拒绝调用者的一些操做。

(2)下降了使用者的使用难度,使用者只须要知道怎么调用便可,不须要知道里边的具体实现方法。

#Python学习交流群:778463939

import abc

class Interface(metaclass=abc.ABCMeta):
    # 定义接口Interface类来模仿接口的概念,python中没有interface关键字来定义一个接口。
    @abc.abstractmethod
    def read(self):  # 定接口函数read
        pass

    @abc.abstractmethod
    def write(self):  # 定义接口函数write
        pass

class Txt(Interface):  # 文本,具体实现read和write
    def read(self):
        print('文本数据的读取方法')

    def write(self):
        print('文本数据的读取方法')

class Sata(Interface):  # 磁盘,具体实现read和write
    def read(self):
        print('硬盘数据的读取方法')

    def write(self):
        print('硬盘数据的读取方法')

4、抽象类与接口

抽象类的本质仍是类,指的是一组类的类似性,包括数据属性(如all_type)和函数属性(如read、write),而接口只强调函数属性的类似性。

抽象类是一个介于类和接口直接的一个概念,同时具有类和接口的部分特性,能够用来实现归一化设计

5、接口与归一化设计

归一化让使用者无需关心对象的类是什么,只须要知道这些对象都具有某些功能就能够了,这极大地下降了使用

者的使用难度。

归一化使得高层的外部使用者能够不加区分的处理全部接口兼容的对象集合。

相关文章
相关标签/搜索