Python笔记-习题42 对象、类及从属关系

附加练习

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.多重继承有什么缺点:简单的理解是,多个父类中可能会存在初始化顺序的问题,使用的话必须了解清楚初始化是以什么顺序执行的及层次结构。

 

 

原文地址:https://www.cnblogs.com/ohlala/p/11445240.html