C# 类的基本概念(类成员)
本章内容:
类的概述
程序和类:一个简单的示例
声明类
类成员
创建变量和类的实例
为数据分配内存
实例成员
访问修饰符
从类的内部访问成员
从类的外部访问成员
综合应用
类成员
字段和方法是最重要的类成员类型。字段是数据成员,方法是函数成员。
字段
字段是隶属于类的变量。
它可以是任何类型,无论是预定义类型还是用户定义类型。
和所有变量一样,字段用来保存数据,并具有如下特征:
可以被写人;
可以被读取。
声明一个字段最简单的语句如下:
**说明 **与C和C++不同,C#在类型的外部不能声明全局变量(也就是变量或字段)。所有的字段
都属于类型,而且必须在类型声明内部声明。
显式和隐式字段初始化
因为字段是一种变量,所以字段初始化语句在语法上和上一章所述的变量初始化语句相同。
字段初始化语句是字段声明的一部分,由一个等号后面跟着一个求值表达式组成。
初始化值必须是编译时可确定的。
如果没有初始化语句,字段的值会被编译器设为默认值,默认值由字段的类型决定。简
单类型的默认值见表4-1。可是总结起来,每种值类型的默认值都是0,bool型的默认值
是false,引用类型的默认值为null。
例如,下面的代码声明了4个字段,前两个字段被隐式初始化,另外两个字段被初始化语句
显式初始化。
class MyClass
{int F1; //初始化为0 -值类型string F2;//初始化为null -引用类型int F3=25; //初始化为25string F4="abcd";//初始化为"abcd"
}
声明多个字段
可以通过用逗号分隔名称的方式,在同一条语句中声明多个相同类型的字段。但不能在一个
声明中混合不同的类型。例如,可以把之前的4个字段声明结合成两条语句,语义结果相同。
int F1,F3=25;
string F2,F4="abcd";
方法
方法是具有名称的可执行代码块,可以从程序的很多不同地方执行,甚至从其他程序中执行。
(还有一种没有名称的匿名方法,将在第14章讲述。)
当方法被调用(call/invoke)时,它执行自己所含的代码,然后返回到调用它的代码并继续
执行调用代码。有些方法返回一个值到它们被调用的位置。方法相当于C++中的成员函数。
声明方法的最简单语法包括以下组成部分。
返回类型 它声明了方法返回值的类型。如果一个方法不返回值,那么返回类型被指定
为void。
名称 这是方法的名称
参数列表 它至少由一对空的圆括号组成。如果有参数(参数将在下一章阐述),将被列
在圆括号中间。
方法体 它由一对大括号组成,大括号内包含执行代码。
例如,下面的代码声明了一个类,带有一个名为PrintNums的简单方法。从这个声明中可以
看出下面几点关于PrintNums的情况:
它不返回值,因此返回类型指定为void;
它有空的参数列表;
它的方法体有两行代码,其中第1行打印数字1,第2行打印数字2。
说明 与C和C++不同,C#中没有全局函数(也就是方法或函数)声明在类型声明的外部。同
样,和C/C++不同,c#中方法没有默认的返回类型。所有方法必须包含返回类型或void。