协议设计子类

时间:2013-03-11 15:35:56

标签: python

我接受了其中一家公司的采访,他们问了我这个问题?

设计子类时遵循的协议是什么?我的回答是,如果子类共享父类的所有属性和方法,并且它想要实现自己的方法和属性,而不是实现子类。

有人可以告诉我需要查看的项目清单吗?

2 个答案:

答案 0 :(得分:0)

SOLIDDRY原则是一个很好的起点。

答案 1 :(得分:0)

你的回答是一个良好的开端,但他们可能正在寻找更多:

例如:

  • 在这种情况下,子类是否是适当的解决方案?

    父类的功能有多少适合 子类?

    您是否以正确的粒度级别进行子类化:是您的 子类'final' - 一个代表结尾的端点 继承链,或将成为父类的中间类 要跟随的其他子类的类?

    您是否只需要一个子类,或者可能需要反映几个子类 父类的功能的不同方面,并添加他们的 自己的。

    新功能的哪些方面将在实施中实施 子类本身,以及可以委托给其他类或者多少 子系统。

    听起来很简单,但遵循适当的 NAMING PROTOCOL 类和子类也很重要:确保你的名字 子类正确地描述了它的功能和它的功能 与父类的关系。

要研究的一些事情 - GOF书是一本艰难的读物,但是“Head First Design Patterns”更容易获得,尽管有时它会进入非常基本的细节。也可能有Python特定的设计书籍,但是我不熟悉它们。

相关科目可能是:

*)继承

*)对象组成/委托与继承

*)抽象类/接口