File tree Expand file tree Collapse file tree 2 files changed +50
-0
lines changed
Expand file tree Collapse file tree 2 files changed +50
-0
lines changed Original file line number Diff line number Diff line change 1+ #Python允许使用多重继承 采用MixIn就是一种常见的设计
2+
3+
4+ class Animal (object ):
5+ pass
6+
7+
8+ #大类
9+ class Manmal (Animal ):
10+ pass
11+
12+
13+ class Bird (Animal ):
14+ pass
15+
16+
17+ #功能
18+ class RunnableMixIn (object ):
19+ pass
20+
21+
22+ class CarnivorousMixIn (object ):
23+ pass
24+
25+
26+ #MixIn 设计方式
27+ class Dog (Manmal , RunnableMixIn , CarnivorousMixIn ):
28+ pass
Original file line number Diff line number Diff line change 1+ #用装饰器函数把 get/set 方法“装饰”成属性调用:
2+
3+
4+ class Student (object ):
5+ def __init__ (self , name , score ):
6+ self .name = name
7+ self .__score = score
8+
9+ @property
10+ def score (self ):
11+ return self .__score
12+
13+ @score .setter #setter 是property的装饰后的副产品
14+ def score (self , score ):
15+ if score < 0 or score > 100 :
16+ raise ValueError ('invaild score' )
17+ self .__score = score
18+
19+
20+ s = Student ('coa' , 90 )
21+ s .score = 80
22+ print (s .score )
You can’t perform that action at this time.
0 commit comments