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

类 Class 与对象

类与对象已掌握。下一课学构造函数。

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

🎯本节学习目标

  • 理解类的概念
  • 掌握创建对象 new
  • 理解字段与方法组合

🚀课程导读

C# 是面向对象语言。类是“图纸”,对象是“按图纸造出的实物”。Unity 里的每个组件其实都是类。

类与对象的关系

“图纸”与“实物”。

  1. 【类 Class】:定义一种事物的“模板/图纸”,描述它有什么数据(字段)和能做什么(方法)。
  2. 【对象 Object/实例】:根据类“new 出来”的具体实体,有自己独立的数据。
  3. 例:定义一个 Player 类(有名字、血量字段,有攻击方法);new 出两个玩家对象,各有各的血量。
  4. 类定义语法:public class 类名 { 字段; 方法; }
  5. 创建对象:类名 变量名 = new 类名();
  6. 访问对象成员:对象名.字段名 / 对象名.方法名()。
  7. Unity 脚本类继承 MonoBehaviour,但普通的数据类可以不继承(用来存数据、写逻辑)。
💡
一句话:类 = 图纸,对象 = 用图纸造出的实物,可造无数个。

定义一个类并使用

动手造一个“玩家”类。

  1. 在 Project/Scripts 里创建 C# 脚本,命名为 PlayerData(注意文件名=类名)。
  2. 把内容改成(不继承 MonoBehaviour,作为普通数据类):
  3. public class PlayerData { public string name; public int hp = 100; public void SayHello() { UnityEngine.Debug.Log(name + ":你好!"); } }
  4. 保存,等待编译。
  5. 再创建脚本 PlayerTest(继承 MonoBehaviour)挂到空对象上,在 Start 里写:
  6. PlayerData p1 = new PlayerData(); p1.name = "小明"; p1.hp = 80;
  7. PlayerData p2 = new PlayerData(); p2.name = "小红"; p2.hp = 120;
  8. p1.SayHello(); p2.SayHello(); Debug.Log(p1.hp);
  9. 播放:两个玩家各自输出自己的名字。
  10. 体会:同一张图纸(类)造出两个独立对象。
💡
不继承 MonoBehaviour 的类不能挂到对象上,但可以作为“数据容器”在脚本里使用,这是游戏开发常用手法。

常见错误与排查

错误:创建脚本后没有挂载选项?
原因:脚本类不继承 MonoBehaviour
解决:普通数据类本身不能挂;让它继承 MonoBehaviour 或作为字段在别的脚本里 new 使用。

动手练习

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

  • 定义一个 Enemy 类(字段:名字、血量;方法:受伤)
  • 创建两个敌人对象,各自设定血量
  • 调用方法让它们分别报出自己的血量

本节小结

类与对象已掌握。下一课学构造函数。

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

← 上一课方法参数与返回值