2013-03-11 40 views
1

我接受了一家公司的采访,他们问我这个问题?协议设计小类

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

有人可以让我知道需要查看的项目列表吗?

回答

0

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

例如:

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

    父类的多少功能将适用于 的子类?

    你在正确的粒度级别继承:是你的 子“最终” - 一个将代表 继承链的末端,或中间类将是父 类的其他子类端点跟随?

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

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

    听起来简单,但以下适当命名原则您 类和子类也很重要:请确保您的 子类的名称正确地描述了它的功能和 关系,父类。

有些事情要研究 - GOF的书是一个艰难的读操作,但“Head First设计模式”是更方便,但有时它会变成非常初级的细节。这里也可能有Python特定的设计书,但是我不熟悉它们。

相关主题可能是:

*)继承

*)对象组合/代表团VS继承

*)抽象类/接口

+0

感谢much..Even虽然我的工作但不能像你写的那样理解 – user1050619 2013-03-11 18:40:03

+0

这不是一个容易回答的问题 - 范围非常广泛,继承有很多缺点 - 需要谨慎。 – Vector 2013-03-11 19:21:52

0

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