构造函数的用法学习笔记:
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>
}
分享到:
相关推荐
数组的构造函数`Array()`虽然可用,但在实际编程中,我们通常更倾向于使用字面量语法`[]`来创建数组,因为这种方式更加简洁、直观,且在处理参数不确定性时更安全。以下是关于JavaScript数组构造函数的一些详细知识...
通过这些文件,我们可以看到一个全面的学习路径:从理解构造器模式的基本原理,到掌握C++11中的继承构造器和参数化构造函数的使用,再到实际编写和编译代码进行测试。这样的学习过程有助于开发者在C++20环境中熟练...
学习笔记通常包括了基础概念、关键特性、实用技巧以及常见问题的解决方法。 【标签】"h5"、"前端"、"学习笔记"进一步明确了内容的重点。"h5"即HTML5,是前端开发的核心;"前端"意味着这些笔记涉及的是用户可见和...
对象是类的实例,通过构造函数创建。封装、继承和多态是OOP的三大特性,Java通过访问修饰符(public、private、protected、默认)来实现封装,通过extends关键字实现单继承,通过接口(interface)实现多态。 3. ...
- `extends`关键字实现继承,`super`关键字调用父类构造函数或方法。 5. **模块(Module)** - 使用`export`导出模块,`import`导入模块,实现了JavaScript的模块化,提高了代码组织和重用性。 6. **解构赋值** ...
- 对于非静态变量,除了使用初始化块外,还可以直接在构造函数中进行处理。 ### 字符串 #### 字符串类特性 - **不可变性**:`String`类是不可变的,这意味着一旦一个字符串对象创建之后,其内容不能被改变。所有...
**构造函数调用**:在构造函数内部,可以使用`this()`调用同一类的其他构造函数,或者使用`base()`调用来调用基类的构造函数,实现构造函数之间的协同工作。 **只读字段(readonly)**:只读字段允许在构造函数中...
本文档是一份详尽的Python基础学习笔记,适用于初学者,涵盖了Python编程语言的方方面面。笔记内容从基础的环境配置到面向对象的高级特性,详尽阐述了Python的核心概念和技术要点。 在Linux基础部分,笔记从终端...
对象是 JavaScript 中的一种数据结构,可以使用对象字面量、new Object() 或者构造函数来创建对象。对象的遍历可以使用 for...in 循环或 Object.keys() 方法来实现。 内置对象 JavaScript 中的内置对象包括 Math ...
根据提供的“php100学习笔记”的部分内容,我们可以总结出一系列重要的PHP知识点,涉及字符串处理、文件操作、类与对象的基础等内容。 ### 字符串处理 #### `str_replace` `str_replace`函数用于在字符串中替换...
这篇学习笔记主要涵盖了JavaScript的基础语法和客户端JavaScript的相关知识。 1. **JavaScript基本语法**: - **变量声明**:未声明的变量尝试读取时会产生错误,而写入未声明的变量会创建一个全局变量。 - **...
在非IE浏览器中,我们可以直接通过`__proto__`访问,而在IE中,通常使用`isPrototypeOf()`方法来检查实例是否由特定构造函数创建。 JavaScript的继承可以通过原型链、组合构造函数和原型、以及ES6引入的Class语法...
这篇EXT学习笔记主要涵盖了EXTJS中面向对象编程的一些关键概念和实践,包括命名空间、类定义、构造函数、属性与方法的访问控制(私有和公有)、静态属性与方法以及继承机制。 1. **命名空间**:在EXTJS中,命名空间...
还会涉及构造函数、访问修饰符、抽象类和接口等关键概念。 3. **异常处理**:Java的异常处理机制提供了处理程序运行时错误的方式。这部分会介绍如何使用try-catch-finally块,以及不同类型的异常类,如IOException...
《cocos2d-x学习笔记》 在学习cocos2d-x时,了解其核心组件和工作流程至关重要。AppDelegate是cocos2d-x框架中的一个关键类,它扮演着应用程序入口点的角色,处理应用程序的生命周期事件。让我们深入探讨...
* 构造函数:构造函数的定义、构造函数的调用等 JavaScript 高级 * 闭包:闭包的定义、闭包的使用等 * 高级函数:高阶函数的定义、函数柯里化等 * ES6 新特性:let 和 const 变量、箭头函数、类和继承等 DOM 和...
4. **成员的初始化**:类中的私有成员需要通过公有方法或者构造函数进行初始化。 #### 四、构造函数与析构函数 1. **构造函数**: - 构造函数用于初始化新创建的对象。 - 构造函数没有返回值,也不能有`void`...
4. **方法与构造函数**:如何定义和调用方法,以及理解构造函数的作用和用法。 5. **数组与集合**:介绍一维和多维数组,以及Java集合框架,如ArrayList、LinkedList、HashMap等。 6. **IO流**:学习输入输出流的...
2. **类与对象**:深入解析类的定义、对象的创建及生命周期,包括封装、继承和多态等面向对象的三大特性,以及构造函数、访问修饰符的使用。 3. **包与接口**:介绍了Java中的包机制,用于组织和管理类,以及接口的...