zoukankan      html  css  js  c++  java
  • .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 (加群备注:博客园看到的)

  • 相关阅读:
    算法的时间复杂的分析(推导大O())
    理解快速排序(有图有真相)
    线索二叉树C+Java
    二叉树的顺序存储C+Java
    S3C2440 nand_flash驱动程序
    IMX257实现Ramblock驱动程序编写
    20150410 递归实现八皇后问题
    20150410 递归实现汉诺塔算法
    201504010 IMX257 USB鼠标驱动程序编写
    中缀表达式转后缀表达式
  • 原文地址:https://www.cnblogs.com/yuhangwang/p/6254034.html
Copyright © 2011-2022 走看看