9. 构造函数和析构函数
Posted LiuChangwei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9. 构造函数和析构函数相关的知识,希望对你有一定的参考价值。
构造函数和析构函数:
编写代码时,如果没有编写他们则编译器会自动添加。
1、构造函数(特殊的方法)
(1)作用:帮助我们初始化对象,给对象的每个字段依次赋值;
(2)构造函数没有返回值,连void也不能写必须public;
(3)构造函数的名称必须跟类名一样;
(4)方法自动运行,无需显示调用;
(5)类中会有一个默认的无参数的构造函数,当你写一个新的构造函数时,那个默认的无参数构造函数就会被覆盖掉。
2、析构函数
(1)是实现销毁一个类的实例方法成员;
(2)他不能有参数,也不能有任何修饰符而且不能被调用 ;
(3)析构函数前加缀“~” ;
(4)编写一些关于本类对象消失(清除)前的一些必要处理工作;
(5)常用于数据库,数据连接的关闭,或者 Socket 数据连接的关闭 。
例:
1 namespace ProgramTest 2 { 3 //主类 4 class Program 5 { 6 static void Main(string[] args) 7 { 8 //利用构造函数及调用方法输出 9 Clerk zsClerk = new Clerk("张三", Gender.女, 100); 10 zsClerk.Wrte(); 11 Console.ReadKey(); 12 } 13 } 14 15 /// <summary> 16 /// 新建类Clerk,声明变量(字段)、生成属性及利用构造函数初始化字段 17 /// </summary> 18 /// 枚举 19 public enum Gender 20 { 21 男, 22 女 23 } 24 class Clerk 25 { 26 //声明变量及添加属性 27 private string _name; //声明变量 28 public string Name //添加属性。生成属性快捷键:Ctrl + r +e 29 { 30 get 31 { 32 return _name; 33 } 34 35 set 36 { 37 _name = value; 38 } 39 } 40 private Gender _gender; //声明变量 41 public Gender Gender //添加属性 42 { 43 get 44 { 45 return _gender; 46 } 47 48 set 49 { 50 _gender = value; 51 } 52 } 53 private int _age; //声明变量 54 public int Age //添加属性 55 { 56 get 57 { 58 return _age; 59 } 60 61 set 62 { 63 _age = value; 64 } 65 } 66 67 //创建一个方法 68 public void Wrte() 69 { 70 Console.WriteLine("我叫{0},我是{1}生,我{2}岁了!", this.Name, this.Gender, this.Age); 71 } 72 73 //带参构造函数,对字段进行赋值 74 public Clerk(string name, Gender gender, int age) 75 { 76 this.Name = name; 77 this.Gender = gender; 78 this.Age = age; 79 } 80 81 //创建析构函数 82 ~Clerk() 83 { 84 Console.WriteLine("这是一个析构函数"); 85 } 86 } 87 }
以上是关于9. 构造函数和析构函数的主要内容,如果未能解决你的问题,请参考以下文章