程序和类
类是一个能储存数据并执行代码的经过封装的数据结构,包含数据成员和函数成员,类内通常会包含逻辑上相关的数据和函数,所以类通常会代表真实世界或概念上的事物。
运行中的C#程序实质上是许多实例之间相互作用:
类的声明
类是一种类型,这个在第四章提到了,但是属于自定义类型,所以不像int、long这种预定义类型可以直接使用,而是需要声明定义这个类的内容,包括类的名字、成员和特征,注意成员的声明可以是任何顺序
类的成员
字段和方法是最重要的类成员类型,字段是数据成员,方法是函数成员。
字段
字段是隶属于类的变量,可以是预定义类型的变量,也可以是自定义类型的变量
注:与C/C++不同,C#在类外不能声明全局变量。所有字段必须在类内声明,都属于类。
但是可以定义一个类,通过静态变量存放全局变量,调用的时候用common来调用即可
字段初始化
值类型初始化默认为0,引用类型默认为null,布尔类型为false
方法
方法是具有名称的可执行代码块(函数),当方法被调用时,先跳转到自己代码块的位置执行,然后跳回被调用位置继续向后执行。
方法的声明包含:
注:与C/C++不同,C#中没有全局函数。并且所有函数没有默认的返回类型,必须指定返回类型。
类的内存分配
第四章提到类是引用类型,所以需要在栈内存放地址,在堆存放实际数据。
我们声明类类型的变量所分配的内存是用来保存引用的,要保存实际数据就要使用new运算符:
实例成员
类的声明相当于一个蓝图,想实例化多少个都可以,每个实例都是独立的个体,有自己的一组成员,这些成员是实例成员;但也可以声明与类相关而不是与实例相关的静态成员。
访问修饰符
从类的内部,任何函数成员都可以使用成员的名称访问类中的任意其他成员。访问修饰符是成员声明的可选部分,指明成员的访问权限:
私有访问与公有访问
私有访问是默认的访问权限级别,使用不使用private都是私有访问,也就是只有类内可以访问。
公有访问比私有访问权限更高,可以在类外访问,访问方式为:类变量名.成员名
常见示例如下: