构造函数

收藏615

阅读2893

更新时间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

精选课程

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

共29课时

61.7万人学习

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

共25课时

39.3万人学习

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

共43课时

71万人学习

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

共25课时

61.6万人学习

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

共22课时

23万人学习

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

共28课时

33.9万人学习

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

共89课时

125万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号