`

在javascript中模拟类

阅读更多
javascript中不支持真正的类,可以创建伪类,它是采用基于原型的继承而不是类的继承。
javascript中的对象可以有任意个属性,属性可以动态的添加给一个对象。在java这种严格类型语言中,并不是这样,每个对象都有一组预定义的属性,其中每个属性都有一个预定义的类型。当使用javascript对象来模拟面向对象编程技术时,通常会预定义每个对象的属性组以及每个属性所存储的数据的类型。

javascript不会有一个正式的类的名字,它只是通过构造函数和原型对象来近似的模拟类。在java中,类的成员可能是4种类型之一:实例属性、实例方法、类属性和类方法。子javascript中如何模拟呢
  • 实例属性


实例属性:javascript中的实力属性是那些由构造函数创建和初始化的属性。
  • 实例方法

实例方法:在javascript中,通过将构造函数的原型对象中的一个属性设置为一个函数值,从而定义了一个实例方法。

在java中,实例方法的作用域包括this对象。即实例方法的方法体可能只是:
return width * height;

然而,在javascript中,必须为这些属性现实的指定this关键字。
return this.width * this.height


  • 类属性

类属性是和类自身相关的属性,而不是和一个类的实例相关的属性。不管创建了该类的多少个实例,类的每个属性都只有一份拷贝。实例属性通过类的一个实例来访问,类属性通过类自身来访问。
例:要创建一个Rectangle.UNIT类属性来存储一个特殊的矩形,可以这么做:
Rectangle.UNIT = new Rectangle(1,1);


  • 类方法

类方法是和一个类而不是类的一个实例相关的方法。类方法通过类自身来调用,而不是通过类的一个实例来调用
分享到:
评论

相关推荐

    在JavaScript中模拟类(class)及类的继承关系_.docx

    在JavaScript中模拟类(class)及类的继承关系_.docx

    在JavaScript中模拟类(class)及类的继承关系

    众所周知,JavaScript中没有类,然而我们却可以动手实现一个拥有继承特性的类,所以接下来我们要讨论的便是在JavaScript中模拟类(class)及类的继承关系:

    JavaScript中利用构造器函数模拟类的方法

    本文小编带大家一起学习的是在 JavaScript 中使用构造器函数(construcor function)模拟类。下面话不多说,感兴趣的朋友们下面来一起看看吧。 构造器函数简介 你可以使用 ES6 的 class 关键字来实现类,不过我建议...

    javaScript模拟的HashMap数据结构的对象

    javaScript模拟的HashMap数据结构,可以方便的put和get。几乎和Java中HashMap类的功能一模一样。非常好用的!

    JavaScript\JS\窗口类\牛B 用层模拟可移动的小窗口

    JavaScript\JS\窗口类\牛B 用层模拟可移动的小窗口

    JavaScript 高级篇之闭包、模拟类,继承(五)

    本篇主要分享我对闭包的理解及使用闭包完成私有属性、模拟类、继承等,结合大量例子,希望大家能快速掌握!首先让我们先从一些基本的术语开始吧

    javascript模拟map,set类,用起来挺方便的!!!

    1.可以用null,boolean,string,number,array,Date,自定义类的对象作键值,数组里的元素必须是实现equals方法的类型,而且数组里含有null,undefined,NaN会弹出异常; 2.数组维数尽量不要太多,程序里递归检查数组元素...

    JavaScript 模拟类机制及私有变量的方法及思路

    介绍了JavaScript模拟类机制及私有变量的方法及思路,有需要的朋友可以参考一下

    JavaScript模拟实现继承的方法

    我们都知道,在JavaScript中只能模拟实现OO中的”类”,也就意味着,在JavaScript中没有类的继承。我们也只能通过在原对象里添加或改写属性来模拟实现。 先定义一个父类, //父类 function ParentClass() { this....

    JavaScript模拟桌面

    用JavaScript写的模拟桌面,做了一半,参考别人的代码写出了窗口类以及简单的任务栏,连续研究了两天不想干了,先在这里储存着,想做了再接着做,想看就下吧

    javascript_oop:有关如何在Javascript中实现OOP的一些示例

    在此存储库中,您将找到不同的示例来模拟类和继承。 使用运行它们。 运行node 以执行JavaScript示例。 您可以对其进行编辑,并在5种声明类的方法之间进行选择: , , , , 。 如果您想比较的话,还有一个等效的...

    WebGIS从基础到开发实践代码(基于ArcGIS API for JavaScript)

    2.4.3模拟类与继承 2.4.4使用模块与包管理源代码 第3章页面布局设计 3.1使用布局小部件设计页面框架 3.1.1小部件与布局小部件简介 3.1.2使用面板组织页面元素 3.1.3使用容器小部件设计页面布局 3.2可移动的小部件微...

    【JavaScript源代码】JavaScript继承的三种方法实例.docx

     继承 继承: 首先继承是一种关系,类(class)与类之间的关系,JS中没有类,但是可以通过构造函数模拟类,然后通过原型来实现继承。  继承也是为了数据共享,js中的继承也是为了实现数据共享  我们可以联想到原型...

    JavaScript中的类与实例实现方法

    本文实例讲述了JavaScript中的类与实例实现方法。分享给大家供大家参考。具体如下: JavaScript 中没有父类, 子类的概念, 也没有class 和 instance 的概念, 全靠 prototype chain来实现继承. 当查找一个对象的属性时...

    javascript jquery 前端模拟实现英雄PK 随机倍数暴击

    前端js实现两个类 继承自英雄这个基类 不同英雄可以设置不同的基础攻击力 防御力等属性 实习不同的英雄攻击效果的思路 本例子实现的是魔兽争霸中剑圣的技能 就是带随机的倍数暴击效果

    JavaScript 面向对象编程详细讲解文档

    虽然它没有类和实例, 但它有对象, 原型和隐式的继承。我们将会解释如何模拟继承及其超类与子类之间关系的形式。原型是理解继承概念的关键, 我们将会教你如何建立原型, 如何检测一个对象是否是另外一个对象的原型, ...

    javascript框架设计之类工厂

    不过我们可以模拟类,曾近一段时间,类工厂是框架的标配,本章会介绍各种类实现,方便大家在自己的框架中或选择时自己喜欢的那一类风格。 1.javascript对类的支持 在其它语言中 ,类的实例都要通过构造函数new出来。...

Global site tag (gtag.js) - Google Analytics