定义类
类可以帮你打包管理一些数据。
例如100个小兵,每个都有生命,攻击,防御属性。
如果你使用数组声明300个数字,那么你会很难区分这个数字究竟属于谁的什么。
使用类帮助管理,则可以清晰地分辨谁是谁,谁有什么值。
声明一个类地语法是 class + 名字 + 一对花括号。
和顶级语句功能一起使用时,类声明必须在所有顶级语句下方。
类中只允许有声明语句
class 小兵
{
int hp = 12;
int atk = 10;
int def = 5;
void Injured(int damage)
{
damage -= def;
if (damage > 0)
{
hp -= damage;
}
}
}
类中只允许声明。声明过程中可以赋值初始值,赋初始值的语句无论多复杂都行。
但不允许出现不是声明语句的执行语句。
类成员
局部
所有在函数里的变量和函数称为局部变量和局部函数。
这些有作用域的东西很容易判断他们什么时候不需要然后丢掉。
而我们之前写的顶级语句是由VS包装到Main方法里的。
都是局部变量和局部函数。
成员
直属于类下的东西称为类成员,比如成员变量,成员函数。
他们有特别的名字,成员变量称为字段,成员函数称为方法。
字段不能使用var声明类型。
类成员无法判断单个字段什么时候不再需要。只能跟随类存在,什么时候类可以丢了,字段才能丢。
this
在编写方法的时候,可以使用this来访问类成员,这在声明了同名的局部变量或局部函数时很有用。
this只能访问成员。在多次嵌套函数的时候不能指定访问哪一层的局部变量。
实例
现在的类只是一份设计图。
你规定了让他帮你管理生命,攻击,防御。
但是你现在还没有任何一个小兵。
如果要生成一个小兵,需要new+类名+括号来生成一个值。
小兵 a = new 小兵();
生成的这个东西叫实例,也叫对象。
但现在还不能用,因为没有权限。
在之后会讲到访问权限。