.NET 基础 一步步 一幕幕[面向对象之构造函数、析构函数]

构造函数、析构函数

构造函数:

语法:

//无参的构造函数

[访问修饰符] 函数名() ;函数名必须与类名相同。

//有参的构造函数

[访问修饰符] 函数名(参数列表);函数名必须与类名相同。

作用:帮助我们初始化对象(给对象的每个属性依次的赋值)

构造函数是一个特殊的方法:

1)、构造函数没有返回值,连void也不能写。

2)、构造函数的名称必须跟类名一样。

3)、构造函数有无参和有参之分。

创建对象的时候会执行构造函数,构造函数是可以有重载的。

***

类当中会有一个默认的无参数的构造函数,当你写一个新的构造函数之后,不管是有参数的还是无参数的,那个默认的无参数的构造函数都被干掉了。

代码展示:

//定义一个类:

public class Student
{
  private string _name;
        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }
        private int _age;
        public int Age
        {
            get { return _age; }
            set { _age = value; }
        }
        
}
View Code

//定义无参的构造函数

public Student()
        { 
            Console.WriteLine("我是构造函数!!!");
        }
View Code

//定义有参的构造函数

public Student(string name, int age )
        {
            this.Name = name;
            this.Age = age; 
        }
View Code

析构函数:

语法:~(”~”)函数名; 函数名必须与类名相同。

规则:一个类只能有一个析构函数;

        析构函数不能重载;

        析构函数不能显示或手动调动,只能由垃圾回收站(GC)自动调用。

注意:析构函数不接受任何参数,也不带任何访问修饰符。析构函数的主体包括了一些代码,通常用于关闭由实例打开的数据库,文件或网络连接等。

代码展示:

public class Student
{
  private string _name;
        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }
        private int _age;
        public int Age
        {
            get { return _age; }
            set { _age = value; }
        }
        
}
View Code

//析构函数

//当程序结束的时候  析构函数才执行
        //帮助我们释放资源
        //GC Garbage Collection
        ~Student()
        {
            Console.WriteLine("我是析构函数");
        }
View Code

总结:

构造函数:用于初始化对象。

析构函数:释放资源。

本篇就到这里了,最后打个小广告:QQ群: .NET 一步步一幕幕  群号:590170361 (加群备注:博客园看到的)

原文地址:https://www.cnblogs.com/yuhangwang/p/6254034.html