我今天花了 45 分钟和老师争论这件事,我觉得这很愚蠢,但也许她只是解释得不好。
她试图告诉我,当您使用覆盖它的函数创建子类时,我应该注释掉或删除父类的可覆盖函数中的代码块。
这有什么关系吗?
当然不。仅仅因为一个类覆盖它并不意味着从基类继承的其他类也会这样做。因此,在这些情况下,您肯定希望基类功能保留在那里。
然后是 dotNET 已经提出的观点(子类需要调用基类的函数来重用那里已经存在的功能)
她试图告诉我,当您使用覆盖它的函数创建子类时,我应该注释掉或删除父类的可覆盖函数中的代码块。
大声笑吗?
这是一个非常糟糕的主意。
我希望你在这里不是指 VB6。VB6 不支持真正的 OOP。但在 VB.NET 或 C# 中,答案肯定不是。通常情况下,子类的重写函数需要在执行其操作之前或之后调用基类的功能。所以我不明白为什么你的老师把它定为通用规则。