上周看代码,有以下注释:
本类(TextBlock)可以从SolidBlock类继承。因为SolidBlock中多一个在本类中不用的成员(这是禁止的),所以只能把相应的内容统统拷贝一份。
点评如下:
- 首先这位程序员看到了重复代码,表扬。
- 然后这位程序员想到了继承,非常好。这已经达到中级程序员的标准了。
- 结尾是有点遗憾,因为他不会提取父类。所以还是低级程序员。
那么这个问题怎么解决呢?
- 设计一个父类AbstractBlock,把两个类相同的内容全部放在这里。
- SolidBlock继承AbstractBlock,增加自己独有的成员。
- TextBlock继承AbstractBlock,增加自己独有的成员。
解决思路是不是很自然?