【发布时间】:2010-09-05 15:55:45
【问题描述】:
您能否提供当我们从一个类继承时的场景,它工作了一段时间,但随后发生了其他变化并引入了一个错误? 我想出了以下情况:
- 为了实现带孔的矩形,我们从类 Rectangle 继承。在构造函数中,我们检查孔是否在矩形内
- 后来有人为类 Rectangle 添加了一个新方法 Resize。他们不检查洞是否还在里面。
- 调整大小后,我们可以在矩形内部有孔的矩形孔,这是一个错误。
如果我选择在 C# 中使用对象继承,我应该注意哪些其他问题。
【问题讨论】:
-
这不是在 C# 中要小心的事情,在任何面向对象的语言中都是要小心的。基类应该永远不必担心它们的后代。
-
@Robaticus:我说 C# 是因为在 C++ 中我们可以从多个类继承,并且更容易陷入困境。在 C# 中,我们只能从一个类继承。
-
我仍然坚持我所说的。无论使用哪种语言,都需要注意这一点。它不是 C# 独有的。
标签: c# inheritance oop