gpt4 book ai didi

java - C# 重写对象声明中的方法,就像在 Java 中一样

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:53:23 26 4
gpt4 key购买 nike

但我一直在用 Java 编程,所以我知道你可以在对象的实例化中覆盖方法

        private MyObject myObject=new MyObject(){
@Override
public void myMethod(int args){
.
.
.
}
}

有人可以告诉我如何在 C# 中执行此操作吗...谢谢

最佳答案

与所有实例方法都是虚拟的 Java 不同,在 C# 中,您必须放置 virtual 关键字显式:

   public class MyObject {
...
// in order to be overriden in a derived class, base method should be
// explictly declared as virtual or abstract
public virtual void myMethod(int args){
...
}
...
}

在 C# 中,override 也是一个关键字,而不仅仅是一个属性:

   // class can't be declared locally, but explictly
public class MyOverridenObject: MyObject {
...
// override is a mandatory keyword in the context
public override void myMethod(int args){
...
}
}

最后,C# 不允许在本地 实现类,因此您必须显式 声明类(上面代码中的MyOverridenObject)然后使用:

   // Finally, you can assign an overriden class to the private field
private MyObject myObject = new MyOverridenObject();

关于java - C# 重写对象声明中的方法,就像在 Java 中一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38036674/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com