在C#中,通常将不能实例化且只包含静态成员的类声明为私有构造函数的密封类。因为这种类变量和参数没有意义,所以对这种类进行实例化或派生也是没有实际意义的。为了防止上述类被实例化或派生,在C#中引入了静态类这一概念。静态类既不能被实例化,也不能被派生。
在C#中使用static修饰符修饰静态类,具体使用格式如下:
静态类在使用时必须遵循如下三条规则。
1)静态类不能包含sealed和abstract修饰符。
2)在声明静态类时,不能显式指定基类或所实现接口的列表。因为静态类都是从object隐式继承而来的。
3)静态类不能包含具有可访问性的protected或protected internal成员。
实例47:用静态类计算对应图像的面积
下面通过一个简单实例来说明使用静态类的具体方法,本实例保存在“光盘:\daima\10”文件夹内,项目名为jingtaiclass。实例的功能是根据定义的静态类执行对应图像的面积计算方法。实例文件的主要代码如下:
上述实例代码的设计流程如下。
1)使用static定义静态类mianji。
2)定义double变量pai,并设置其值为3.14。(www.xing528.com)
3)定义圆面积的计算方法yuan()。
4)定义矩形面积的计算方法juxing()。
5)定义正方形面积的计算方法zheng()。
6)分别定义类mianji的实例对象mianji1、mianji2和mianji3。
7)根据参数选择执行对应的面积计算方法。
执行后将分别调用对应的面积计算方法输出对应图形的面积,如图10-6所示。
图10-6 实例执行结果
多学一招
在使用C#静态类时必须注意如下三点:
1)一个类要想成为静态类,必须使用static修饰符显式的进行定义,否则不会自动成为静态的类。
2)只能使用静态类来直接引用它的成员,不能将静态类作为基类、成员构造类型、泛型变量和类型参数约束。
3)静态类不能被用于数组类型、指针类型、new表达式、强制转换表达式、is表达式、as表达式、sizeof表达式和默认值表达式。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。