本篇文章给大家分享的是有关C#中构造函数和析构函数的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
C#构造函数(constructor)包括实例C#构造函数和静态C#构造函数。C#构造函数与类名相同,且不能有返回值。例:
class TestClass { TestClass() //实例构造函数:可以访问静态成员和实例成员,用于初始化实例成员 { ... } static TestClass() //静态构造函数:只能访问静态成员,用于初始化静态成员 { ... } }
类的静态成员属于类所有,不必生成实例就可以访问,它是在载入包含类的应用程序时创建的,但静态方法不能访问类的实例变量和方法。通常,静态变量是在定义时就赋初始值的。
类的实例成员属于类的实例所有,不创建实例对象就无法对其进行访问,实例成员可以访问类的静态成员和其它实例成员。
class A { public A() { ... } } class B { public B(): base() //调用基类的析构函数 { ... } }
常量:其值是在编译时设定的,必须是数值文字。默认状态下常量是静态的。例:
class A { public const double pi = 3.1415; }
常量是编译时就确定的值,只读字段是在运行才能确定的值。比如运行时才能确定的屏幕分辨率。只读字段只能在类的C#析构函数中赋值。静态只读字段:
class A { public static readonly int ScreenWidth; //静态只读字段 static A() //静态析构函数 { ScreenWidth = 1024; //在静态析构函数中初始化 } }
在类的继承中,类的C#析构函数是不会被继承的。一个派生类只能从一个基类继承,不能同时从多个基类继承,但可以通过继承多个接口来达到相同目的。实现多继承的***方法就是使用接口。例:
class MyFancyGrid: Control, ISerializable, IDataBound { ... }
以上就是C#中构造函数和析构函数的作用是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。