我是C#的新手,但是我已经特别了解Java,但是也了解python和C ++。 所以我只是问为什么我们不能在C#中实例化抽象类或接口的对象?
在Java中,可以通过在声明对象时重写抽象方法来实现。 我已经研究了这个原因,但是我只发现有人说这是因为这些方法没有主体,但是为什么不能像Java那样使它成为现实,或者为什么它已经存在,我怎么能(作为初学者)在C#上)做到了吗?
例如,在Java中,我们可以这样做:
public abstract class AbstactClass{
public abstract void abstractFunction();
}
然后通过此实例化AbstractClass:
AbstractClass foo = new AbstractClass(){
@Override
public void abstractFunction(){
//Things here
}
};
但是在C#中,如果不创建另一个继承它的类,则不能实例化AbstractClass: 换句话说,这是不可能的:
AbstractClass foo = new AbstractClass(){
@Override
public void abstractFunction(){
//Things here
}
};