1.什么是类?
类是一组具有相同数据结构和相同操作的对象的集合。
概念上,类就像一个更大的容器,包含了变量和方法,类中的变量被称为类的属性,类中的方法被称为类的行为。
技术上,类是一个数据结构。内部包含了各种变量,方法以及其他一些程序信息。当通过这个类创建一个对象时(类的实例化),可以获取类内部的这些变量和方法。
使用上,类是一个blueprint(蓝图,计划),类通过变量和方法指定某个物体的特征和使用规则,通过实例化过程,创建这个类的对象。
2.对象和类的关系?
对象可以是现实生活中的一个物理对象,还可以是某一些概念实体的实例。例如:
一辆汽车、一个人、一本书、乃至一种语言、一个图形、一种管理方式,都可以作为一个对象。
类是一组具有相同数据结构和相同操作的对象的集合。类是对一系列具有相同性质的对象的抽象,是对对象共同特征的描述。比如每一辆汽车是一个对象的话,所有的汽车可以作为一个模板,我们就定义汽车这个类。
可以使用类的定义实例化对象,这表示创建类的一个实例。
从类定义中产生对象,必须有建立实例的操作。
internal class Program
{
static void Main(string[] args)
{
//对象,根据这个类来实例化这个对象
Student stu = new Student();
//给对象的变量赋值
stu.name = "张三";
stu.xuehao = 2023;
stu.age = 10;
Console.WriteLine("学生的姓名:" + stu.name);
Console.WriteLine("学生的学号:"+stu.xuehao);
Console.WriteLine("学生的年龄:" + stu.age);
}
}
//类头
public class Student//一般来说,C#中定义类的时候,首字母大写
{
//类体
//定义三个变量,这三个变量分别用以存储姓名,学号,年龄
public string name;
public int xuehao;
public int age;
}
}
在Unity中创建的C#脚本LearningCurve就是一个类,类的关键字是Class,LearningCurve是类名,:MonoBehavior这个语法表示类的继承,就相当于现实生活中儿子继承父亲的财产,这边就表示LearningCurve这个类能获取MonoBehavior类中的变量和方法,比如这里Start()方法和update()方法。
"///"自动出现的<summary>的注释块标签,通常用于写函数的使用功能,之后鼠标放在那些调用函数上的时候会自动显示这个注释说明。
LearningCurve的实例化过程是Unity内部帮我们做好了,但是前提是需要将这个类作为一个组件挂载到游戏对象上,Unity的游戏对象都是由各个组件(component)构成的,表示这个游戏对象的各种功能,例如Transform组件是每个游戏对象都具有的一个组件,表示游戏对象的位置、旋转以及大小的改变;LearningCurve只要继承自MonoBehavior就能作为一个组件挂载到游戏对象上,进而Unity在实例化游戏对象时同时创建了LearningCurve的对象。