javascript的构造函数的重载

【转自e良师益友网】有时候我们希望对象的初始化有多种方式。比如通过元素组成的数组来初始化一个Set对象,而不是通过传入构造函数的参数列表来初始化它。

重载overload

通过重载这个构造函数方法让它根据传入参数的不同,来执行不同的初始化方法。

这段代码所定义的Set()构造函数可以显式将一组元素作为参数列表传入,也可以传入元素组成的数组。但这个构造函数有多义性,如果集合的某个参数是一个
数组就将无法通过这个构造函数来创建这个集合了(为了做到这一点,需要首先创建一个空集合,然后显示调用add()方法)。

工厂方法

不同名字的工厂方法用以执行不同的初始化。但由于构造函数是类的公有标识,因此每个类只能有一个构造函数。但这并不是一个必须遵守的规则。

辅助构造函数

通过以函数的形式调用Set()来初始化这个新对象

以上就是本文的分享内容,想学习更多编程语言教程知识登录e良师益友网。

时间: 2024-10-16 13:52:28

javascript的构造函数的重载的相关文章

Javascript中构造函数的返回值问题和new对象的过程

首先明确一点:javascript中构造函数是不需要有返回值的,这一点跟java很类似.可以认为构造函数和普通函数的最大差别就是:构造函数中没有return语句,普通函数可以有return语句:构造函数中会使用this关键字定义成员变量和成员方法,普通的函数不会使用this关键字定义成员变量和方法. function Person(name,sex) { this.name = name; this.sex = sex; // return 1; //return true; //return

构造函数的定义和构造函数的重载

构造函数:处理对象的初始化,是一种特殊的成员函数,与其他函数不同,不需要用户来调用它,在建立对象时自动执行. 注意:(1)每建立一个对象,就调用一次构造函数: (2)构造函数没有返回值,因此也没有类型,作用只是对对象进行初始化: (3)构造函数不需要被用户调用,也不能被用户调用. 构造函数的重载:构造函数具有相同的名字,而参数的个数或参数类型不相同. 例1  编写一个基于对象的程序,在类中用带参数的构造函数对数据成员初始化,求长方柱的体积. 解:程序: #include<iostream> u

javascript面向对象——构造函数和原型对象

一般地,javascript使用构造函数和原型对象来进行面向对象编程,它们的表现与其他面向对象编程语言中的类相似又不同.本文将详细介绍如何用构造函数和原型对象来创建对象 构造函数 构造函数是用new创建对象时调用的函数,与普通唯一的区别是构造函数名应该首字母大写 function Person(){ this.age = 30; } var person1 = new Person(); console.log(person1.age);//30 根据需要,构造函数可以接受参数 function

深入理解Javascript中构造函数和原型对象的区别

在 Javascript中prototype属性的详解 这篇文章中,详细介绍了构造函数的缺点以及原型(prototype),原型链(prototype chain),构造函数(constructor),instanceof运算符的一些特点.如果对prototype和构造函数不熟悉,可以前往Javascript中prototype属性的详解 和 Javascript 中构造函数与new命令的密切关系 仔细的品味品味.先来做一个简单的回顾. 首先,我们知道,构造函数是生成对象的模板,一个构造函数可以

[javase学习笔记]-7.3 构造函数的重载

这一节我们来学习一下构造函数的重载. 说到重载,我们在函数那一章已经学习过了,为了更好的理解构造函数的重载,我们先要弄明白一个问题: 那就是什么时候定义构造函数呢? 在描述事物时,该事物已存在就具备一些内容,这些内容都定义在构造函数中. 我们来看例子: class Person { private String name; private int age; Person() { System.out.println("person run"); } public void speak(

C++ 拷贝构造函数和重载赋值操作符相互调用分析 [转]

结论: 从面相对象编程的角度考虑,拷贝构造函数调用重载赋值操作符,重载赋值操作符调用拷贝构造函数的写法都是没有意义的.应该避免. Don't try to implement one of the copying functions in terms of the other. Instead, put common functionality in a third function that both call. ——Effective C++ Third Edition By Scott M

.net初学之构造函数及重载

1.类是对象的具体实现,对象是类的抽象描述. 2.创建类的实例的时候调用构造函数 3.构造函数无返回值:类名和方法名相同:用于初始化对象: 4.方法名相同,参数列表不同的同一类下不同方法称为方法的重载. 构造函数: public class hanshu { public string Num1; public int Num2; //定义两个变量 public void hanshu(string _Num1,int _Num2) //构造函数 { this.Num1 = _Num1; //声

javascript笔记—— 构造函数

出处:http://www.cnblogs.com/RicCC/archive/2008/02/15/JavaScript-Object-Model-Execution-Model.html 数据类型基本数据类型基本数据类型是JS语言最底层的实现.简单数值类型: 有Undefined, Null, Boolean, Number和String.注意,描述中的英文单词在这里仅指数据类型的名称,并不特指JS的全局对象N an, Boolean, Number, String等,它们在概念上的区别是比

JavaScript使用构造函数获取变量的类型名

在JavaScript中,如何准确获取变量的类型名是一个经常使用的问题. 但是常常不能获取到变量的精确名称,或者必须使用jQuery 中的方法,这里 我通过 typeof ,jQuery.type 和 通过构造函数来获取变量类型 这三种方法详细介绍一遍. 希望可以对你提供帮助. 看到题目的第一眼,有些同学可能会想到 typeof 运算符. 使用 typeof 获取基本的类型 在JavaScript语言中,给出了使用 typeof 运算符来获取基本的类型名.(注意不是基本类型) 这是 typeof