首页/ 第 5 章 · C# 编程基础/ 第 64 课
LESSON 64 · C# 编程基础

构造函数 Constructor

构造函数已掌握。下一课学封装的访问修饰符与属性。

⏱ 约 13 分钟📊 难度:入门🗂 第 5 章 · C# 编程基础📍 第 64 / 300 课
课程进度
64 / 300

🎯本节学习目标

  • 理解构造函数的作用
  • 掌握带参构造函数
  • 掌握 this 关键字

🚀课程导读

每次 new 对象时,如果希望“一出生就带数据”,用构造函数。它是对象的“出生仪式”。

构造函数基础

对象创建时自动执行。

  1. 构造函数是与类同名、没有返回类型的方法。
  2. 语法:public 类名() { 初始化代码 }
  3. 创建对象 new 类名() 时,构造函数自动执行一次。
  4. 例:public class Player { public int hp; public Player() { hp = 100; } }
  5. 这样 new Player() 时 hp 自动为 100。
  6. 如果类里没写构造函数,编译器会提供默认无参构造。
  7. 构造函数也可以有参数:public Player(int startHp) { hp = startHp; }
  8. 调用:Player p = new Player(200);
💡
构造函数不能有返回类型(连 void 都不能写),名字必须与类名完全一致。

this 关键字与实战

指代“当前对象”。

  1. 【this】在方法/构造内指代“当前正在操作的这个对象”。
  2. 主要用于区分“参数名与字段名相同”的情况:
  3. public Player(int hp) { this.hp = hp; } // this.hp 是字段,hp 是参数
  4. 【多个构造】重载:public Player() { hp = 100; } public Player(int hp) { this.hp = hp; }
  5. 两个都写,调用时可选无参或带参版本。
  6. 【构造链】一个构造调用另一个:public Player() : this(100) { }
  7. 【实战】在 PlayerData 类里加构造函数:
  8. public PlayerData(string n, int h) { name = n; hp = h; }
  9. 然后:PlayerData p = new PlayerData("小明", 80); 一步完成创建+初始化。
  10. 体会构造函数让“创建即就绪”。
带参构造 + 直接传值初始化,比“先 new 再逐个赋值”更优雅、更不易漏。

常见错误与排查

错误:报错:构造函数缺少参数?
原因:写了带参构造后,无参调用失败
解决:显式再加一个无参构造,或调用时传入参数。

动手练习

课后小任务(做出来才算真的学会)

  • 给 Enemy 类添加带参构造函数(名字+血量)
  • 用一句 new Enemy("野猪", 50) 创建并初始化
  • 用 this 区分字段与参数

本节小结

构造函数已掌握。下一课学封装的访问修饰符与属性。

完成打卡后,主站会实时更新你的学习进度 🎯

← 上一课类 Class 与对象