好的-我遇到了一个问题,我很难解决。
我有两种形式-一种是从另一种继承。我们将它们称为FormParent和FormChild。
MyFunction()在FormParent中定义。我不需要重写它,因为它将对许多不同的形式执行相同的基本操作,但是它调用DoSomethingUnique()。DoSomethingUnique在父级中定义,在子级中覆盖。
我的问题是,因为我没有覆盖MyFunction(),所以当我从FormChild调用它时,它调用的DoSomethingUnique()版本是FormParent而不是FormChild的函数。
有什么方法可以避免重写这两个函数,但是将DoSomethingUnique()的版本称为FormChild的版本吗?
您想要做的当然可以。您只需要确保已安装正确的修饰符即可。
在FormParent ..
virtual public void DoSomethingUnique()
在FormChild中
override public void DoSomethingUnique()
如果您未使用显式修改方法,override
则将在FormParent中调用该方法。
显然用您的返回类型替换void。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句