gpt4 book ai didi

C# 创建类和派生类的实例

转载 作者:太空宇宙 更新时间:2023-11-03 17:52:40 25 4
gpt4 key购买 nike

我在我的 C# 程序中尝试了以下代码。这只是为了学习 OOP 概念。

 class a
{
public void testa()
{
}
}
class b:a
{
public void testb()
{
}
}

a a1 = new b();

b b1 = new a();

我对上述代码有以下疑问。

  1. 为什么我在第二行出现错误?
  2. a a1=new b()是什么意思;
  3. 为什么 a1.testb() 无法访问,即使 b 的构造函数已分配给 a1
  4. a a1=new a()a a1=new b() 有什么区别?

最佳答案

1) 如果你指的是这一行:

b b = new a();

这是因为每个b都是a但不是每个a都是b

2-3) a a1=new b();是什么意思 为什么 a1.testb() 无法访问,即使 b 的构造函数已分配给 a1

这意味着您创建了 b 类的对象,但将其作为 a 进行引用(您可以通过此引用来处理它,而无需仅将其转换为 a 即使是 b)

关于C# 创建类和派生类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19784092/

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