`
pumaboyd
  • 浏览: 251437 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

构造函数的用法学习笔记

 
阅读更多

构造函数的用法学习笔记:

l         公共(public)构造函数

C#实例形式:

Class MyClass()

{

       Public MyClass(){}

}

l         私有(private)构造函数

如果一个类有一个或多个私有构造函数而没有公共构造函数,则不允许其他类创建该类的实例。一般情况下类默认有一个公共的构造函数,如果希望类不能被其他类实例化,可以声明空构造函数来阻止自动生产默认构造函数。私有构造函数一般应用于单件模式(Singleton)中。

Class MyClass

{

       Private MyClass(){}

       Private MyClass _objMyClass;

       Public MyClass Instance()

       {

              If(_objMyClass ==null){_objMyClass = new MyClass()}

              Return _objMyClass;

}

}

l         保护(protected)构造函数

受保护的构造函数使类可以被子类实例化。而其他非子类的类不可以创建该类的实例。

ATest Test的子类。Test类无法使用Test objNews = New Test() 来实例化(无法通过编译)

<o:p> </o:p>

public class MyClass<o:p></o:p>

{<o:p></o:p>

    public static void <st1:place w:st="on">Main</st1:place>()<o:p></o:p>

    {<o:p></o:p>

       ATest obj = new ATest();<o:p></o:p>

       RL();<o:p></o:p>

    }<o:p></o:p>

}<o:p></o:p>

public class Test<o:p></o:p>

{<o:p></o:p>

    protected Test()<o:p></o:p>

    {<o:p></o:p>

     MyClass.WL("This is protected");<o:p></o:p>

    }<o:p></o:p>

}<o:p></o:p>

<o:p> </o:p>

public class ATest:Test<o:p></o:p>

{<o:p></o:p>

    public ATest()<o:p></o:p>

    {<o:p></o:p>

     MyClass.WL("This is ATest");<o:p></o:p>

    }<o:p></o:p>

}

l         静态(static)构造函数:

静态构造函数用来初始化类。在创建第1个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化类。静态构造函数即没有访问修饰符,也没有参数。

<o:p> </o:p>

using System;<o:p></o:p>

using System.Collections;<o:p></o:p>

<o:p> </o:p>

public class MyClass<o:p></o:p>

{<o:p></o:p>

    <o:p></o:p>

    public MyClass()<o:p></o:p>

    {<o:p></o:p>

       System.Console.WriteLine("New Instance Created");<o:p></o:p>

    }<o:p></o:p>

    <o:p></o:p>

    static MyClass()<o:p></o:p>

    {<o:p></o:p>

       System.Console.WriteLine("Static Instance Created");<o:p></o:p>

    }<o:p></o:p>

    <o:p></o:p>

    public static void Hello()<o:p></o:p>

    {<o:p></o:p>

       WL("Hellow");<o:p></o:p>

    }<o:p></o:p>

    <o:p></o:p>

    public static void <st1:place w:st="on">Main</st1:place>()<o:p></o:p>

    {<o:p></o:p>

       MyClass.Hello();<o:p></o:p>

       MyClass ms = new MyClass();<o:p></o:p>

       RL();<o:p></o:p>

    }<o:p></o:p>

    <o:p></o:p>

    <o:p></o:p>

}

 

分享到:
评论

相关推荐

    Javascript学习笔记之数组的构造函数

    数组的构造函数`Array()`虽然可用,但在实际编程中,我们通常更倾向于使用字面量语法`[]`来创建数组,因为这种方式更加简洁、直观,且在处理参数不确定性时更安全。以下是关于JavaScript数组构造函数的一些详细知识...

    《C++20设计模式》学习笔记-第2章构造器模式学习代码

    通过这些文件,我们可以看到一个全面的学习路径:从理解构造器模式的基本原理,到掌握C++11中的继承构造器和参数化构造函数的使用,再到实际编写和编译代码进行测试。这样的学习过程有助于开发者在C++20环境中熟练...

    h5前端学习笔记

    学习笔记通常包括了基础概念、关键特性、实用技巧以及常见问题的解决方法。 【标签】"h5"、"前端"、"学习笔记"进一步明确了内容的重点。"h5"即HTML5,是前端开发的核心;"前端"意味着这些笔记涉及的是用户可见和...

    Java 学习笔记Java学习笔记

    对象是类的实例,通过构造函数创建。封装、继承和多态是OOP的三大特性,Java通过访问修饰符(public、private、protected、默认)来实现封装,通过extends关键字实现单继承,通过接口(interface)实现多态。 3. ...

    超详细ES6变动,ES6学习笔记,JavaScriptES6学习笔记

    - `extends`关键字实现继承,`super`关键字调用父类构造函数或方法。 5. **模块(Module)** - 使用`export`导出模块,`import`导入模块,实现了JavaScript的模块化,提高了代码组织和重用性。 6. **解构赋值** ...

    J2ME学习笔记 J2ME学习笔记 J2ME学习笔记

    - 对于非静态变量,除了使用初始化块外,还可以直接在构造函数中进行处理。 ### 字符串 #### 字符串类特性 - **不可变性**:`String`类是不可变的,这意味着一旦一个字符串对象创建之后,其内容不能被改变。所有...

    C#学习笔记整理_深入剖析构造函数、析构函数

    **构造函数调用**:在构造函数内部,可以使用`this()`调用同一类的其他构造函数,或者使用`base()`调用来调用基类的构造函数,实现构造函数之间的协同工作。 **只读字段(readonly)**:只读字段允许在构造函数中...

    python基础学习笔记

    本文档是一份详尽的Python基础学习笔记,适用于初学者,涵盖了Python编程语言的方方面面。笔记内容从基础的环境配置到面向对象的高级特性,详尽阐述了Python的核心概念和技术要点。 在Linux基础部分,笔记从终端...

    前端学习笔记-黑马程序员JS

    对象是 JavaScript 中的一种数据结构,可以使用对象字面量、new Object() 或者构造函数来创建对象。对象的遍历可以使用 for...in 循环或 Object.keys() 方法来实现。 内置对象 JavaScript 中的内置对象包括 Math ...

    php100学习笔记

    根据提供的“php100学习笔记”的部分内容,我们可以总结出一系列重要的PHP知识点,涉及字符串处理、文件操作、类与对象的基础等内容。 ### 字符串处理 #### `str_replace` `str_replace`函数用于在字符串中替换...

    javascript学习笔记.docx

    这篇学习笔记主要涵盖了JavaScript的基础语法和客户端JavaScript的相关知识。 1. **JavaScript基本语法**: - **变量声明**:未声明的变量尝试读取时会产生错误,而写入未声明的变量会创建一个全局变量。 - **...

    javascript面向对象学习笔记

    在非IE浏览器中,我们可以直接通过`__proto__`访问,而在IE中,通常使用`isPrototypeOf()`方法来检查实例是否由特定构造函数创建。 JavaScript的继承可以通过原型链、组合构造函数和原型、以及ES6引入的Class语法...

    EXT学习笔记-项目应用实践

    这篇EXT学习笔记主要涵盖了EXTJS中面向对象编程的一些关键概念和实践,包括命名空间、类定义、构造函数、属性与方法的访问控制(私有和公有)、静态属性与方法以及继承机制。 1. **命名空间**:在EXTJS中,命名空间...

    《Java学习笔记》

    还会涉及构造函数、访问修饰符、抽象类和接口等关键概念。 3. **异常处理**:Java的异常处理机制提供了处理程序运行时错误的方式。这部分会介绍如何使用try-catch-finally块,以及不同类型的异常类,如IOException...

    cocos2d-x学习笔记

    《cocos2d-x学习笔记》 在学习cocos2d-x时,了解其核心组件和工作流程至关重要。AppDelegate是cocos2d-x框架中的一个关键类,它扮演着应用程序入口点的角色,处理应用程序的生命周期事件。让我们深入探讨...

    JavaScript基础学习笔记

    * 构造函数:构造函数的定义、构造函数的调用等 JavaScript 高级 * 闭包:闭包的定义、闭包的使用等 * 高级函数:高阶函数的定义、函数柯里化等 * ES6 新特性:let 和 const 变量、箭头函数、类和继承等 DOM 和...

    C++学习笔记

    4. **成员的初始化**:类中的私有成员需要通过公有方法或者构造函数进行初始化。 #### 四、构造函数与析构函数 1. **构造函数**: - 构造函数用于初始化新创建的对象。 - 构造函数没有返回值,也不能有`void`...

    java学习笔记 JDK6 附代码

    4. **方法与构造函数**:如何定义和调用方法,以及理解构造函数的作用和用法。 5. **数组与集合**:介绍一维和多维数组,以及Java集合框架,如ArrayList、LinkedList、HashMap等。 6. **IO流**:学习输入输出流的...

    良葛格java学习笔记

    2. **类与对象**:深入解析类的定义、对象的创建及生命周期,包括封装、继承和多态等面向对象的三大特性,以及构造函数、访问修饰符的使用。 3. **包与接口**:介绍了Java中的包机制,用于组织和管理类,以及接口的...

Global site tag (gtag.js) - Google Analytics