为什么我们不能在C#中为抽象类创建对象?

时间:2019-05-04 17:43:55

标签: java c# interface abstract

我是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
    }
};

0 个答案:

没有答案