1
amon 2014-07-08 12:10:18 +08:00
多态
|
2
yxz00 2014-07-08 12:14:28 +08:00 1
当然可以把每个类公共方法都给个interface。但是你这样写得累死。这样你一改公共接口就要改interface + public method。而且一个类方法多了,你的接口列表不得写出几个屏幕去。
这是中了oo理论的毒。当一个接口没有多态的需求的时候就不要给interface。等以后有了再加不迟。 当然你可以用golang,就永远不用纠结这个问题了。隐式接口是我最喜欢的golang特性。当然好多人会跳出来说,“这是图灵等价的”。 |
3
yxz00 2014-07-08 12:16:29 +08:00
还有,我同事命名要用中文,我直接拿凳子抽死他。
|
4
dustinth 2014-07-08 12:22:02 +08:00
没有不需要任何条件的所谓Best Practice. 任何事情, 只要问一下"为什么这么做", 答案就明了了.
|
5
raincious OP |
6
jevonszmx 2014-07-08 15:47:16 +08:00
我的理解:
我要造“两轮车”,“两轮车”必须要有一个什么功能呢?“骑”。 => 可是万一有的人造的“两轮车”,不能”骑“怎么办?所以要约束下,所以我们查到: 接口:使用接口(interface),你可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。 => 这样的话,我们定义一个”两轮车“的interface,约束了”骑“这个方法,这样,不管是“自行车”和“摩托车”,只要是”两轮车“,必须起码实现”骑“这个功能才可以。 注意:我用的”起码“,也就是说其他的并没约束,每个对象还可以有自己的特点,”自行车“可以“踩脚蹬”,”摩托车“可以“发动”,这就是”多态“。 不能为了OO而OO,理论联系实际~~XD |
7
Actrace 2014-07-08 21:40:54 +08:00
少用这些东西。
|