C#构造函数和析构函数描述

开发 后端
这里介绍C#构造函数和C#析构函数,在类的继承中,类的C#析构函数是不会被继承的。一个派生类只能从一个基类继承,不能同时从多个基类继承,但可以通过继承多个接口来达到相同目的。

在向大家详细介绍C#析构函数之前,首先让大家了解下C#构造函数,然后全面介绍C#析构函数。

C#构造函数(constructor)包括实例C#构造函数和静态C#构造函数。C#构造函数与类名相同,且不能有返回值。例:

  1. class TestClass  
  2. {  
  3. TestClass()   
  4. //实例构造函数:可以访问静态成员和实例成员,用于初始化实例成员  
  5. {  
  6. ...  
  7. }  
  8.  
  9. static TestClass()   
  10. //静态构造函数:只能访问静态成员,用于初始化静态成员  
  11. {  
  12. ...  
  13. }  

类的静态成员属于类所有,不必生成实例就可以访问,它是在载入包含类的应用程序时创建的,但静态方法不能访问类的实例变量和方法。通常,静态变量是在定义时就赋初始值的。

类的实例成员属于类的实例所有,不创建实例对象就无法对其进行访问,实例成员可以访问类的静态成员和其它实例成员。

  1. class A  
  2. {  
  3. public A()  
  4. {  
  5. ...  
  6. }  
  7. }  
  8.  
  9. class B  
  10. {  
  11. public B(): base()   
  12. //调用基类的析构函数  
  13. {  
  14. ...  
  15. }  

常量:其值是在编译时设定的,必须是数值文字。默认状态下常量是静态的。例:

  1. class A  
  2. {  
  3. public const double pi = 3.1415;  

常量是编译时就确定的值,只读字段是在运行才能确定的值。比如运行时才能确定的屏幕分辨率。只读字段只能在类的C#析构函数中赋值。静态只读字段:

  1. class A  
  2. {  
  3. public static readonly int ScreenWidth;   
  4. //静态只读字段  
  5. static A()  //静态析构函数  
  6. {  
  7. ScreenWidth = 1024;   
  8. //在静态析构函数中初始化  
  9. }  

在类的继承中,类的C#析构函数是不会被继承的。一个派生类只能从一个基类继承,不能同时从多个基类继承,但可以通过继承多个接口来达到相同目的。实现多继承的***方法就是使用接口。例:

  1. class MyFancyGrid: Control, ISerializable, IDataBound  
  2. {  
  3. ...  

【编辑推荐】

  1. C#创建表单简单介绍
  2. C#修改DataReader默认行为
  3. C#设置CooperativeLevel概述
  4. C#表单增加控件简单描述
  5. C# EmployeePlug类概述
责任编辑:佚名 来源: 51cto.com
相关推荐

2009-08-14 17:24:28

C#构造函数和析构函数

2009-07-30 15:24:13

C#析构函数C#构造函数

2010-07-20 09:52:27

Perl构造函数

2009-09-04 11:15:07

选择C#构造函数

2010-01-18 15:53:27

C++析构函数

2009-08-13 14:36:40

C#结构体构造函数

2009-07-31 16:06:50

成员函数构造函数C#

2009-07-31 14:15:38

C# 构造函数

2009-08-24 18:09:13

C#构造函数

2010-02-04 16:39:26

C++析构函数

2021-12-11 19:02:03

函数C++对象

2009-08-20 14:28:00

C#静态构造函数

2009-07-31 15:37:45

C#静态构造函数

2009-07-31 15:44:02

C#静态构造函数

2009-08-14 09:15:28

C#调用构造函数

2011-07-15 01:29:39

C++析构函数

2009-09-02 10:49:46

C#调用析构方法

2009-08-13 18:15:06

C#继承构造函数

2009-08-13 17:38:42

C#构造函数

2009-09-18 09:02:45

CLR Via C#
点赞
收藏

51CTO技术栈公众号