`
wangdeshui
  • 浏览: 255697 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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();       

       }

   }

}

分享到:
评论

相关推荐

    一起学C#:构造函数和析构函数.rar

    在C#编程语言中,构造函数和析构函数是两个非常关键的概念,它们在对象生命周期管理中起到至关重要的作用。让我们深入探讨一下这两个概念及其在实际编程中的应用。 首先,构造函数是C#中用于初始化新创建对象的方法...

    C#编程艺术:构造函数与析构函数的奥秘

    ### C#编程艺术:构造函数与析构函数的奥秘 C#作为一种强大的面向对象的编程语言,在软件开发领域占据着举足轻重的地位。它不仅受到C++和Java的影响,还结合了现代编程语言的优点,如垃圾回收、类型安全、泛型支持...

    C#中构造函数和析构函数的用法

    ### C#中构造函数和析构函数的深入解析 #### 构造函数与析构函数:C#中的生命期管理 在C#编程语言中,构造函数和析构函数是对象生命周期管理的关键部分,它们分别负责对象的初始化和清理工作。理解这两者的运作...

    accp6.0-二期:构造函数教程

    在C#语言中,每个类都可以有一个或多个构造函数,它们的名称与类名相同,没有返回类型,但可以包含参数。构造函数的主要任务是在对象创建时设置初始状态,确保对象的正确初始化。 在.NET框架中,构造函数分为两种...

    C#构造函数的理解

    ### C#构造函数的理解 #### 一、构造函数的基本概念 构造函数是一种特殊的方法,用于初始化新创建的对象。在C#中,构造函数的名字与类名相同,这有助于明确指出其用途。当创建一个类的新实例时,系统会自动调用...

    c#构造函数的调用过程

    ### C#构造函数的调用过程 在C#编程语言中,构造函数是一种特殊类型的方法,主要用于初始化对象的状态。构造函数的名字与类名相同,并且没有返回类型。当创建一个新对象时,构造函数会自动被调用。本文将通过一个...

    c#编写构造函数代码

    根据给定的信息,我们可以深入探讨C#中的构造函数与析构函数的概念,特别是关于它们的调用顺序以及如何实现继承中的构造。 ### C#中的构造函数 #### 构造函数的作用 构造函数是一种特殊的方法,用于初始化新创建的...

    c#析构构造函数c#析构构造函数c#析构构造函数

    C#中的析构构造函数(Destructor)是一种特殊的方法,它在对象即将被垃圾回收器清除时执行,用于释放非托管资源。在C#中,析构函数以`~`符号开头,后面跟着类名,例如`~MyClass()`. 它们不同于常规的构造函数,构造...

    c#和java中的构造函数

    涵盖很多重点。我喜欢理论和实例一起整理,所以可以帮到你们。好好加油吧。我相信你看完的传的一个还回看下一个。。

    构造函数Demo

    在C#编程语言中,构造函数(Constructor)是类的一个特殊方法,它的主要作用是在创建对象时初始化新实例。构造函数的名称必须与类名完全相同,并且没有返回类型,即使是void也不行。本篇文章将深入探讨C#中的构造...

    C#构造函数

    C#构造函数

    C#中的构造函数视频

    在C#编程语言中,构造函数是类的一个特殊方法,它的主要作用是在创建类的实例时执行初始化操作。本文将深入探讨C#中构造函数的基本概念、类型和应用。 一、构造函数的基本概念 构造函数在类的实例化过程中被自动...

    C#应用程序开发-构造函数与析构函数.pptx

    在C#应用程序开发中,构造函数和析构函数是两个至关重要的概念,它们在对象生命周期管理中起到关键作用。下面将详细阐述这两个概念及其在C#中的应用。 首先,构造函数(Constructor)的主要职责是初始化类的新实例...

    C#中静态构造函数的几点说明介绍

    C#中的静态构造函数是一种特殊的构造函数,它用于初始化类的静态成员。它与实例构造函数不同,因为静态构造函数不与任何特定对象关联,而是与类本身相关联。以下是关于C#静态构造函数的详细说明: 1. 访问性与参数...

    c#构造函数与析构函数.doc

    c#构造函数与析构函数.doc

    C#多态性实例,向基类构造函数传递参数.rar

    3. **参数传递的意义**:向基类构造函数传递参数使得我们可以根据派生类实例化时的具体条件来设置基类的状态。这有助于保持代码的灵活性和可扩展性,因为基类的行为可以根据派生类的特性进行调整。 4. **封装和抽象...

    重写重载构造函数

    如果类不是静态的,C#编译器将为无构造函数的类提供一个公共的默认构造函数,以便该类可以实例化。 私有构造函数可以阻止类被实例化。例如: C#复制代码 class NLog { // Private Constructor: private NLog() {...

    c#函数方法,构造函数与析构函数

    在C#编程语言中,函数方法、构造函数与析构函数是对象导向编程的重要组成部分,它们各自承担着不同的角色,并且对于程序的正确运行和优化性能具有重要作用。下面将详细介绍这三个概念及其用法。 ### 函数方法 在C#...

    C#MVC实现带参数的构造注入

    在C# MVC中,我们可以通过Castle Windsor来实现在控制器中带有参数的构造函数注入。 首先,我们需要了解什么是依赖注入。依赖注入是一种设计模式,其核心思想是将依赖关系从代码中解耦出来,使得组件之间可以独立地...

Global site tag (gtag.js) - Google Analytics