gpt4 book ai didi

c# - `ClassA c = new ClassB` 声明可以吗?

转载 作者:行者123 更新时间:2023-11-30 19:05:44 25 4
gpt4 key购买 nike

我想知道这在 C# 中是否可行:

ClassA c = new ClassB();

我明白为什么右边部分必须有类名,而左边部分不必有类名 (var c = new Anything()),所以我的猜测是,通过在该表达式的左侧和右侧显式键入不同(可能以某种方式连接)类的名称,可以以这种不寻常的方式创建某个类的实例。我错了吗?

最佳答案

你可以有类似的东西

public interface ITADA
{
}

public class BaseTADA : ITADA
{
}

public class TADA : BaseTADA
{
}

然后

ITADA t1 = new TADA();
BaseTADA t2 = new TADA();
TADA t3 = new TADA();

这也允许你做

List<ITADA> list = new List<ITADA>() 
{
new TADA(),
new BaseTADA()
};

你应该看看

Polymorphism (C# Programming Guide)

关于c# - `ClassA c = new ClassB` 声明可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18286730/

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