14 python抽象类和接口
1 ------------- 1,抽象类--------------------------- 2 1,抽象类 3 抽象方法:----只有方法,没有实现 4 例如: 5 func1() 和 func2() 即是抽象方法,func3则不是 6 7 class ClassName(object): 8 def func1(self, arg): 9 pass 10 def func2(self, arg): 11 pass 12 def func3 (self,arg): 13 print "xxx" 14 15 class ClassName(metaclass=abc.ABCMeta): 16 # @abc.abstractmethod ## 没有此句话,则是可以实例化的 17 def func1(self): 18 pass 19 def func3(self): 20 print("xxxx") 21 22 p=ClassName() 23 p.func3() 24 25 26 27 抽象类:拥有一个或者多个抽象方法的类(但是也可以有其它具体的方法) 28 说明: 29 抽象类不可以实例化 30 31 import abc 32 33 class ClassName(metaclass=abc.ABCMeta): ## 必段要有此句 34 @abc.abstractmethod ## 必须要有此句,则是不可以实例化 35 def func1(self): 36 pass 37 def func3(self): 38 print("xxxx") 39 40 p=ClassName() ## 报错,不可以实例化 41 p.func3() 42 43 44 -----------2 ,接口------------------------------- 45 2,接口: 46 抽象类中所有的方法都是抽象方法, 47 则叫做接口。 48 49 class ClassName(metaclass=abc.ABCMeta): ## 必段要有此句 50 @abc.abstractmethod ## 必须要有此句,则是不可以实例化 51 def func1(self): 52 pass 53 def func3(self): 54 pass 55 56 ------------3,类中的内建函数-------------------------------------- 57 58 issubclass # 是否是子类 59 isinstance # 是否是实例 60 dir ## 查看都有哪些属性 61 super ## 父类 62 vars ## 查看都有哪些属性 63 64 -----------------------------------------