c# 类类型声明说什么

本文关键字:什么 声明 类型 | 更新日期: 2023-09-27 18:27:40

Class ObjName = new Class();


这个问题与我翻滚定义如下的事实有关:

public class Thing{
// Stuff
}
public class Animal:Thing{
// Stuff
}

随后是这个宣言Thing x = new Animal();

相关问题:第一个类的定义/类型与第二个类(在新关键字之后(有何关系?

链接到相关文章,作者:Matthew Cochran

c# 类类型声明说什么

如果我猜对了你的意思...

public class Thing{
}
public class Animal:Thing{
}

这是说动物类派生自类事物。(动物:东西(。所以如果你再填写一点...

public class Thing{
  void DoStuff()
  {
     Console.Write("Doing Stuff");
  }
}
public class Animal:Thing{
}

你可以做这样的事情...

var ani = new Animal();
ani.DoStuff();

因为继承

编辑:为了您在所用术语中的利益,因为它们对于初学者(和专家(来说可能足够困难,这将是一个类定义

public class Thing
{
  void DoStuff()
  {
    Console.Write("Doing Stuff");
  }
}

这将是一个变量声明(这在今天并不像几年前那么普遍,至少在 c# 和相关语言中是这样(

Thing x;

这些是变量声明和赋值 - 也称为"实例化",因为我们正在创建类定义的实例。在这里使用var是一个很好的快捷方式,您应该考虑使用它而不是在左侧指定类型,除非有令人信服的理由这样做。

var x = new Animal();
var y = new Thing();

Class ObjName = new Class();创建一个调用默认构造函数的 Class 类型的对象,并将指向此对象的引用分配给变量 objName

此外,此Thing x = new Animal();执行完全相同的操作(它创建一个对象并将对该对象的引用分配给变量(。但是,这里有一点不同Animal对象是Thing对象。换句话说,Animal继承了Thing。因此,可以将对Animal对象的引用分配给类型为 Thing 的变量。

这是一个很好的继承链接。