C# 教程

浏览8668
更新时间2025-08-11

构造函数

构造函数 (Constructors) 是一种特殊的方法,用于初始化对象。构造函数的优势在于,当创建类的一个对象时,它会被调用。它可以用于为字段设置初始值:

实例

创建一个构造函数:

// 创建一个 Car 类  
class Car
{
  public string model;  // 创建一个字段
  
  // 为 Car 类创建一个类构造函数
  public Car()
  {
    model = "Mustang"; // 为 model 设置初始值
  }
  
  static void Main(string[] args)
  {
    Car Ford = new Car();  // 创建一个 Car 类的对象(这将调用构造函数)
    Console.WriteLine(Ford.model);  // 打印 model 的值
  }
}  
  
// 输出 "Mustang"

提示

请注意,构造函数的名称必须与类名匹配,并且它不能具有返回类型(如 voidint)。

还要注意,当对象被创建时,构造函数会被调用。

默认地,所有类都有构造函数:如果你不自己创建类构造函数,C# 会为你创建一个。但是,那么你将无法为字段设置初始值。

构造函数节省时间!请查看此页面上的最后一个实例,以真正理解为什么。

构造函数参数 ( Constructor Parameters )

构造函数也可以接受参数,这些参数用于初始化字段。

以下实例向构造函数添加了一个字符串 modelName 参数。在构造函数内部,我们将 model 设置为 modelName (model=modelName)。当我们调用构造函数时,我们向构造函数传递一个参数 ("Mustang"),这将把 model 的值设置为 "Mustang"

实例

class Car  
{  
  public string model;  
  
  // 创建一个带有参数的类构造函数  
  public Car(string modelName)  
  {  
    model = modelName;  
  }  
  
  static void Main(string[] args)  
  {  
    Car Ford = new Car("Mustang");  
    Console.WriteLine(Ford.model);  
  }  
}  
  
// 输出 "Mustang"

您可以拥有任意数量的参数:

实例

class Car  
{  
  public string model;  
  public string color;  
  public int year;  
  
  // 创建一个带有多个参数的类构造函数  
  public Car(string modelName, string modelColor, int modelYear)  
  {  
    model = modelName;  
    color = modelColor;  
    year = modelYear;  
  }  
  
  static void Main(string[] args)  
  {  
    Car Ford = new Car("Mustang", "Red", 1969);  
    Console.WriteLine(Ford.color + " " + Ford.year + " " + Ford.model);  
  }  
}  
  
// 输出 Red 1969 Mustang

提示:与其他方法一样,构造函数可以通过使用不同数量的参数进行重载

构造函数节省时间

当你考虑前一章中的例子时,你会注意到构造函数非常有用,因为它们有助于减少代码量:

没有构造函数:

prog.cs

class Program
{
  static void Main(string[] args)
  {
    Car Ford = new Car();
    Ford.model = "Mustang";
    Ford.color = "red";
    Ford.year = 1969;

    Car Opel = new Car();
    Opel.model = "Astra";
    Opel.color = "white";
    Opel.year = 2005;

    Console.WriteLine(Ford.model);
    Console.WriteLine(Opel.model);
  }
}

输出:

Mustang
Astra

有构造函数:

prog.cs

class Program
{
  static void Main(string[] args)
  {
    Car Ford = new Car("Mustang", "Red", 1969);
    Car Opel = new Car("Astra", "White", 2005);

    Console.WriteLine(Ford.model);
    Console.WriteLine(Opel.model);
  }
}

输出:

Mustang
Astra

相关视频

更多

免费

php8,我来也
初级php8,我来也

34万次学习

收藏

免费

Thinkphp6.0正式版视频教程
中级Thinkphp6.0正式版视频教程

39.6万次学习

收藏

免费

细说PHP第一季
中级细说PHP第一季

31万次学习

收藏

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

64.9万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

41.2万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

76.6万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

64.1万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

24.3万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

36.2万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

133.1万人学习

热门下载

更多
phpStudy 2018最新版
phpStudy 2018最新版

集成PHP7,16种组合,超全大合集

下载

VC9 32位
VC9 32位

VC9 32位 phpstudy集成安装环境运行库

下载

VC11 32位
VC11 32位

VC11 32位 phpstudy集成安装环境运行库​

下载

php程序员工具箱完整版
php程序员工具箱完整版

程序员工具箱 v1.0 php集成环境

下载

VC14 32位
VC14 32位

VC14 32位 phpstudy安装环境运行库

下载

SublimeText3汉化版
SublimeText3汉化版

中文版,非常好用

下载

Notepad++ Windows版
Notepad++ Windows版

Notepad++ 8.9.7 Windows版官方安装包,适合 Windows 用户进行代码编辑、文本处理、语法高亮和插件扩展配置。

下载