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 -----------------------------------------

 

posted @ 2018-07-02 15:48  虫儿要吃草  阅读(187)  评论(0编辑  收藏  举报