Python面向对象 | 抽象类和接口类
一 、抽象类 ( 规范的编程模式 ) 什么是抽象类 抽象类是一个特殊的类,它的特殊之处在于 只能被继承,不能被实例化 。抽象类的本质还是类,指的是一组类的相似性,而接口只强调函数属性的相似性。 为什么要有抽象类 如果说类是从一堆对象中抽取相同的内容而来的,那么抽象类就是从一堆类中抽取相同的内容而来的,内容包括数据属性和函数属性。 抽象类是介于类和接口之间的一个概念,同时具备类和接口的部分特性, 可以用来实现归一化设计。 在python中,并没有接口类这种东西,即便不通过专门的模块定义接口,我们也应该有一些基本的概念 从设计角度去看,如果类是从现实对象抽象而来的,那么抽象类就是基于类抽象而来的。 从实现角度来看,抽象类与普通类的不同之处在于:抽象类中有抽象方法,该类不能被实例化,只能被继承, 且子类必须实现抽象方法 。这一点与接口有点类似,但其实是不同的,即将揭晓答案 抽象类 就是制定一个规则,让其他人按照我的规则写程序。 约定俗称规范,但是有人不按照这个执行。 归一化设计 强制指定规范. 写一个抽象类: from abc import ABCMeta,abstractmethod 需要用到abc模块,在这个类创建的时候指定 metaclass = ABCMeta 在你希望子类实现的方法上加上 @abstramethod 装饰器 举例,支付宝和qq支付,统一支付方式