有关对象创建的C#

时间:2018-12-21 00:12:02

标签: c# class oop object

我知道如何创建对象。

Class1 name = new Class1();

这意味着从Class1创建一个对象,但是我在互联网上看到了一些代码,但没有得到。我想在Google上搜索有关该问题的信息。但是我不知道该搜索什么。你能帮我理解吗?

Class1 name = new Class2();

那是什么意思?我的意思是,我是从Class1创建对象吗?我是从Class2创建对象吗?还是我同时从Class1和Class2类创建对象?

2 个答案:

答案 0 :(得分:0)

假设代码可以编译,我们可以自信地说Class2继承了Class1

执行以下操作时:

Class1 name = new Class2();

您正在创建Class2的实例/对象,但变量的类型为Class1。这是完全正确的,因为Class2源自Class1

只要您知道new运算符是创建对象的原因,我们就可以说,new运算符后面的任何类型都是正在构造的对象的类型。

仅此而已,仅此而已。

答案 1 :(得分:0)

在第二个示例中,您指定

Class1 name = new Class2();

也就是说,Class2也继承自Class1,因此它包含Class1和Class2的功能。但是由于您将其声明为Class1,因此只能在程序中使用Class1功能。

但这是简单的解释。 Class1实际上可以是Class2实际实现的接口,或者Class1可以是必须继承的抽象基类。您可以将名称强制转换为Class2,并同时获得Class1和Class2功能。 没有具体例子,您几乎无法理解所寻求的答案。