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