面向对象高级编程
1.slots
Python允许在定义class的时候,定义一个特殊的slots变量,来限制该class实例能添加的属性
使用slots要注意,slots定义的属性仅对当前类实例起作用,对继承的子类是不起作用的
2.property
Python内置的@property装饰器就是负责把一个方法变成属性调用的
@property广泛应用在类的定义中,可以让调用者写出简短的代码,同时保证对参数进行必要的检查,这样,程序运行时就减少了出错的可能性。
3.多重继承
在设计类的继承关系时,通常,主线都是单一继承下来的,例如,Ostrich继承自Bird。但是,如果需要“混入”额外的功能,通过多重继承就可以实现,比如,让Ostrich除了继承自Bird外,再同时继承Runnable。这种设计通常称之为MixIn。
网友评论