0

我今天花了 45 分钟和老师争论这件事,我觉得这很愚蠢,但也许她只是解释得不好。

她试图告诉我,当您使用覆盖它的函数创建子类时,我应该注释掉或删除父类的可覆盖函数中的代码块。

这有什么关系吗?

4

3 回答 3

1

当然不。仅仅因为一个类覆盖它并不意味着从基类继承的其他类也会这样做。因此,在这些情况下,您肯定希望基类功能保留在那里。

然后是 dotNET 已经提出的观点(子类需要调用基类的函数来重用那里已经存在的功能)

于 2013-05-03T04:13:19.443 回答
1

她试图告诉我,当您使用覆盖它的函数创建子类时,我应该注释掉或删除父类的可覆盖函数中的代码块。

大声笑吗?

  • 如果重写方法需要调用可重写方法怎么办?
  • 如果添加了另一个不覆盖可覆盖方法的子类怎么办?
  • 如果有人想从它自己的(非抽象)类中调用可覆盖对象怎么办?

这是一个非常糟糕的主意。

于 2013-05-03T04:15:19.383 回答
0

我希望你在这里不是指 VB6。VB6 不支持真正的 OOP。但在 VB.NET 或 C# 中,答案肯定不是。通常情况下,子类的重写函数需要在执行其操作之前或之后调用基类的功能。所以我不明白为什么你的老师把它定为通用规则。

于 2013-05-03T04:11:29.383 回答