zoukankan      html  css  js  c++  java
  • C#构造函数跟析构函数

    C#的构造函数

    类的 构造函数 是类的一个特殊的成员函数,当创建类的新对象时执行。

    构造函数的名称与类的名称完全相同,它没有任何返回类型。

    下面的实例说明了构造函数的概念:

    using System;
    namespace LineApplication
    {
       class Line
       {
          private double length;   // 线条的长度
          public Line()
          {
             Console.WriteLine("对象已创建");
          }
    
          public void setLength( double len )
          {
             length = len;
          }
          public double getLength()
          {
             return length;
          }
    
          static void Main(string[] args)
          {
             Line line = new Line();    
             // 设置线条长度
             line.setLength(6.0);
             Console.WriteLine("线条的长度: {0}", line.getLength());
             Console.ReadKey();
          }
       }
    }
    View Code

    当上面的代码被编译和执行时,它会产生下列结果:

    对象已创建
    线条的长度: 6

    默认的构造函数没有任何参数。但是如果您需要一个带有参数的构造函数可以有参数,这种构造函数叫做参数化构造函数。这种技术可以帮助您在创建对象的同时给对象赋初始值,具体请看下面实例:

    using System;
    namespace LineApplication
    {
       class Line
       {
          private double length;   // 线条的长度
          public Line(double len)  // 参数化构造函数
          {
             Console.WriteLine("对象已创建,length = {0}", len);
             length = len;
          }
    
          public void setLength( double len )
          {
             length = len;
          }
          public double getLength()
          {
             return length;
          }
    
          static void Main(string[] args)
          {
             Line line = new Line(10.0);
             Console.WriteLine("线条的长度: {0}", line.getLength()); 
             // 设置线条长度
             line.setLength(6.0);
             Console.WriteLine("线条的长度: {0}", line.getLength()); 
             Console.ReadKey();
          }
       }
    }
    View Code

    当上面的代码被编译和执行时,它会产生下列结果:

    对象已创建,length = 10
    线条的长度: 10
    线条的长度: 6

    c#的析构函数

    类的 析构函数 是类的一个特殊的成员函数,当类的对象超出范围时执行。

    析构函数的名称是在类的名称前加上一个波浪形(~)作为前缀,它不返回值,也不带任何参数。

    析构函数用于在结束程序(比如关闭文件、释放内存等)之前释放资源。析构函数不能继承或重载。

    下面的实例说明了析构函数的概念:

    using System;
    namespace LineApplication
    {
       class Line
       {
          private double length;   // 线条的长度
          public Line()  // 构造函数
          {
             Console.WriteLine("对象已创建");
          }
          ~Line() //析构函数
          {
             Console.WriteLine("对象已删除");
          }
    
          public void setLength( double len )
          {
             length = len;
          }
          public double getLength()
          {
             return length;
          }
    
          static void Main(string[] args)
          {
             Line line = new Line();
             // 设置线条长度
             line.setLength(6.0);
             Console.WriteLine("线条的长度: {0}", line.getLength());           
          }
       }
    }
    View Code

    当上面的代码被编译和执行时,它会产生下列结果:

    对象已创建
    线条的长度: 6
    对象已删除
  • 相关阅读:
    [EULAR文摘] 超声腱鞘炎对RA早期诊断的价值
    [EULAR文摘] 脊柱放射学持续进展是否显著影响关节功能
    第24周SDAI缓解能否预测远期RA骨破坏受抑制
    比较多普勒超声与临床缓解标准对RA放射学进展的预测效能
    血药谷浓度能否区分经TNF拮抗剂诱导获得缓解和低活动度的RA患者
    MRI病变能否预测已获临床缓解的早期RA未来放射学进展
    生物制剂时代的SpA研究正站在十字路口_Appel,Sieper2009
    【分享】操作配置文件帮助类
    MongoDB学习笔记-创建、更新、删除文档
    缓存学习笔记-1
  • 原文地址:https://www.cnblogs.com/zjx123/p/8058327.html
Copyright © 2011-2022 走看看