• C#拾遗系列(3):构造函数


     

    1. 主要演示构造函数的继承

     

    •   声明空构造函数可阻止自动生成默认构造函数。
    •   如果您不对构造函数使用访问修饰符,则在默认情况下它仍为私有构造函数。
    •   通常显式地使用 private 修饰符来清楚地表明该类不能被实例化。

     

    2. 静态构造函数

    • 静态构造函数具有以下特点:
    • 静态构造函数既没有访问修饰符,也没有参数。
    • 在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化类。
    • 无法直接调用静态构造函数。
    • 在程序中,用户无法控制何时执行静态构造函数。
    • 静态构造函数的典型用途是:当类使用日志文件时,将使用这种构造函数向日志文件中写入项。
    • 静态构造函数在为非托管代码创建包装类时也很有用

    3. 示例:

     

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

     

    //Description: 构造函数测试

     

    namespace NetTest

    {

       public class Father

        {

     

           public Father()

           {

               Console.Out.WriteLine("Father say");

           }

            public static Father()

            { }

            */

     

           public Father(string s)

           {

               Console.Out.WriteLine(s + ":Father Say");

           }

        }

     

       public class Son:Father

       { 

           /*

           //调用父无参构造函数类构造函数

           public Son()

           {

               Console.Out.WriteLine("Son say");

           }

            */   

           public Son(string s)

           {

               Console.Out.WriteLine("good son say:");      

           }

     

           /* base显示调用父类构造函数

           public Son()

               : base("jack")

           {

               Console.Out.WriteLine("Son say");

           }

           */

     

           /*子类会隐示调用父类无参构造函数*/

           /*this调用自身重载的构造函数*/

           public Son()

               : this("call myself another constructor")

           {             

               Console.Out.WriteLine("above sentence calling myself");      

           }     

       }

     

       public class TestConstructor

       {

     

           public void Test()

           {

               new Son();       

           }

       }

    }

    扫码关注公众号,了解更多管理,见识,育儿等内容

    作者: 王德水
    出处:http://www.cnblogs.com/cnblogsfans
    版权:本文版权归作者所有,转载需经作者同意。

  • 相关阅读:
    Syntactic_sugar
    processor, memory, I/O
    he time that it takes to bring a block from disk into main memory
    How MySQL Uses Indexes CREATE INDEX SELECT COUNT(*)
    mysqli_multi_query($link, $wsql)
    UTC ISO 8601
    but this usually doesn’t gain you anything.
    SET GLOBAL slow_query_log=1
    SET GLOBAL long_query_time=0
    a read only variable
  • 原文地址:https://www.cnblogs.com/cnblogsfans/p/1217410.html
Copyright © 2020-2023  润新知