附加练习
1.研究一下为什么Python添加了这个奇怪的叫做object的类,它究竟有什么含义呢?
A:Python中一切皆对象,创建的类皆以object为基类(父类),默认继承继承基类的属性和方法
Python 3 中以下三种均被识别为:class Myclass(object):
class Myclass(): class Myclass(object): class Myclass:
2.有没有办法把类当作object使用呢?
A:个人理解,类和对象是相对的。当一个类A是继承与类B时,则A对于B来说就是对象,就是把A当做对象来使用
3.在习题中为animals、fish和people添加一些函数,让它们做一些事情。看看当函数在Animal这样的“基类”(base class)里和在Dog里有什么区别。
A:在Animal中添加函数,会继承到所有的类中;但是在Dog中添加函数,在类Cat中不会产生影响
4.找些别人的代码,理清里边的“是什么”和“有什么”的关系。
5.使用列表和字典创建一些新的一对多的“有多个”(has-many)的关系。
6.你认为会有一种“有多个”关系吗?阅读一下关于“多重继承”(multiple inheritance)的资料,然后尽量避免这种用法。
A:
1.什么是多重继承:一个子类继承多个父类
2.多重继承有什么优点:一个子类可以同时获得多个父类的属性和方法,避免设计过多层次,增加过多的类
3.多重继承有什么缺点:简单的理解是,多个父类中可能会存在初始化顺序的问题,使用的话必须了解清楚初始化是以什么顺序执行的及层次结构。