使用构造函数定义“范围类”

用法1:

--------------------------------------------------------------------------------------------------------------

<script>

// 这是一个构造函数,用以初始化新创建的"范围对象"

// 注意,这里并没有创建并返回一个对象,仅仅是初始化

写法1:

function A(x) {

this.f = x;

}

写法2:

var A = function() {};

// 所有的范围对象都继承自这个对象

// 注意,属性的名字必须是prototype

A.prototype = {

add:function(y) {

return Number(this.f ) + Number(y);

}

};

// new A() 创建一个范围对象

x = new A(10).add(8);

?

console.log(x); //输出:18

</script>

?

用法2:

--------------------------------------------------------------------------------------------------------------

<script>

var A = function(x) {this.x = x;};

A.prototype = {

add:function(y) {

return this.x = this.x + Number(y);

}

};

?

A.prototype.includes = function() {

????return this.x *2 ;

}

?

_q = new A;

_q.x = 50;

console.log( _q.includes() );

?

</script>

使用构造函数定义“范围类”

时间: 2024-12-17 08:20:46

使用构造函数定义“范围类”的相关文章

JavaScript 中实现继承的方式(列举3种在前一章,我们曾经讲解过创建类的最好方式是用构造函数定义属性,用原型定义方法。)

第一种:对象冒充 function ClassA(sColor) { this.color = sColor; this.sayColor = function () { alert(this.color); }; } function ClassB(sColor, sName) { this.newMethod = ClassA; this.newMethod(sColor); delete this.newMethod; this.name = sName; this.sayName = f

C++ Primer 学习笔记_65_面向对象编程 --概述、定义基类和派生类

面向对象编程 --概述.定义基类和派生类 引言: 面向对象编程基于的三个基本概念:数据抽象.继承和动态绑定. 在C++中,用类进行数据抽象,用类派生从一个类继承另一个:派生类继承基类的成员.动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生类中定义的函数. 继承和动态绑定在两个方面简化了我们的程序:[继承]能够容易地定义与其他类相似但又不相同的新类,[派生]能够更容易地编写忽略这些相似类型之间区别的程序. 面向对象编程:概述 面向对象编程的关键思想是多态性(polymorphism)

使用构造函数初始化三角形类

方法1:使用带参数构造函数,即Triangle(double x, double y, double z),三边长在调用时由实参直接给出 #include <iostream> #include <cmath> using namespace std; class Triangle { public: //带参构造函数 Triangle(double x, double y, double z); double perimeter(void);//计算三角形的周长 double a

Java作业03 (动手动脑和课后作业1.使用下面定义的类,以下代码输出结果是什么?)

1.使用下面定义的类,以下代码输出结果是什么? 输出结果: 请依据代码的输出结果,自行总结Java字段初始化的规律. Java初始化的地方有两个:初始化块和构造函数,其中初始化又分为实例初始化块和静态初始化块,实例初始化块没有关键字修饰,而静态初始化块由static修饰. 执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面” 执行类的构造函数:类的初始化块不接收任何的参数,而且只要一创建类的对象,它们就会被执行.因此,适合于封装那些“对象创建时必须执行的代码”. 2.

第十一周 项目3 - 点类派生直线类】定义点类Point,并以点类为基类,继承关系

项目3 - 点类派生直线类]定义点类Point,并以点类为基类,派生出直线类Line,从基类中继承的点的信息表示直线的中点.请阅读下面的代码,并将缺少的部分写出来. [cpp] view plaincopyprint? #include<iostream> #include<Cmath> using namespace std; class Point //定义坐标点类 { public: Point():x(0),y(0) {}; Point(double x0, double 

合成的默认构造函数定义为delete的一种情况

1. 默认初始化 如果定义变量时没有指定初值,则变量会被默认初始化,此时变量被赋予了"默认值". 对于类类型的变量来说,初始化都是依靠构造函数来完成的.因此,即使定义某个类的变量(对象)时没有提供初始化式,我们也能通过类的默认构造函数来完成初始化.即,"默认值"由默认构造函数来决定(前提是该类有默认构造函数). 对于内置类型的变量来说,当定义没有初始化式的变量时,系统有时会帮我们初始化变量."默认值"由定义的位置决定:定义于任何函数体之外的变量被

C++ Primer 学习笔记_65_面向对象编程 -概述、定义基类跟派生类

面向对象编程 --概述.定义基类和派生类 引言: 面向对象编程基于的三个基本概念:数据抽象.继承和动态绑定. 在C++中,用类进行数据抽象,用类派生从一个类继承另一个:派生类继承基类的成员.动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生类中定义的函数. 继承和动态绑定在两个方面简化了我们的程序:[继承]能够容易地定义与其他类相似但又不相同的新类,[派生]能够更容易地编写忽略这些相似类型之间区别的程序. 面向对象编程:概述 面向对象编程的关键思想是多态性(polymorphism)

C++ Primer 学习笔记_31_面向对象编程(2)--继承(二):继承与构造函数、派生类到基类的转换 、基类到派生类的转换

C++ Primer 学习笔记_31_面向对象编程(2)--继承(二):继承与构造函数.派生类到基类的转换 .基类到派生类的转换 一.不能自动继承的成员函数 构造函数 拷贝构造函数 析构函数 =运算符 二.继承与构造函数 基类的构造函数不被继承,派生类中需要声明自己的构造函数. 声明构造函数时,只需要对本类中新增成员进行初始化,对继承来的基类成员的初始化调用基类构造函数完成(如果没有给出则默认调用默认构造函数). 派生类的构造函数需要给基类的构造函数传递参数 #include <iostream

定义基类和派生类

定义基类 对于基类,我们需要记住的是作为继承关系中根节点的类通常都会定义一个虚析构函数. 基类通常都会定义一个虚析构函数,即使该函数不执行任何实际操作也是如此. 成员函数和继承 派生类可以继承其基类的成员,也可以对基类中的虚函数进行重新定义.换句话说,派生类需要对这些操作提供自己的新定义以覆盖(override)从基类继承而来的旧定义. 在C++语言中,基类必须将它的两种成员函数区分开来:一种是基类希望其派生类进行覆盖的函数:另一种是基类希望派生类直接继承而不要改变的函数.对于前者,基类通过将其