[翻译]JavaScript中对象的层次与继承(2)
作者:chenzhe 来源:chenzhe 发布时间:2008-12-31 13:36:00
标签:类,对象,继承,javascript,编程
表1是对这些区别的摘要。这篇文章的剩下的部分会描述使用JavaScript构造器和prototype来创建对象层次的细节,并且对比在Java中完成相同工作的方法。
表 1基于类(Java)与基于原型(JavaScript)的对象系统的对比
基于类(Java) | 基于原型(JavaScript) |
类和实例是不同的实体。 | 所有的对象都是实例。 |
使用类定义来定义类;使用构造函数来将类实例化。 | 使用构造函数定义,并且创建一些列对象。 |
使用new操作符来创建一个新的对象。 | 一样。 |
使用类定义来定义已存在类的子类,以此来创建对象层次。 | 通过将一个对象设置为关联到某个构造函数的原型,从而创建对象层次。 |
通过类链(class chain)继承属性。 | 通过原型链继承属性。(prototype chain) |
类定义设置类的所有实例的所有属性。不能再运行时动态添加新的属性。 | 构造函数或者是原型指定了一系列原始(initial)属性。可以动态地向个别对象或者一个对象集合添加或删除属性。 |
Employee雇员实例
本文剩下部分的工作就是实现图1中简单的employee雇员层次。
一个简单的对象层次
图 1
* Employee有name属性(默认值为空字符串)和dept属性(默认值"general")。
* Manager以Employee为基础。它添加了一个reports属性(默认值是空的数组,我们意在让其成为一个值为Employee对象的数组)。
* WorkerBee同样以Employee为基础。它添加了projects属性(默认值是空的数组,我们意在让其成为一个值为字符串的数组)
* SalesPerson以WorkerBee为基础。它添加了quota(配额)属性(默认值100)。它还将dept属性的值覆盖为"sales",表明所有的销售人员都在同一个部门。
* Engineer以WorkerBee为基础。它添加了machine(机器)属性(默认值为空字符串)。它同样将dept属性的值覆盖为" engineering "。
0
投稿
猜你喜欢
- 上次还是CSDN里的朋友回答的,我复制了下来。原文如下 =========================== 利用统计文章字数,然后达到一
- SQL Server数据库备份有两种方式,一种是使用BACKUP DATABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf
- 最近关于浏览器的最重要的事情就是IE的极光0day漏洞了,这个漏洞导致包括Google在内的多家美国公司受到黑客的攻击,当然也有很多网站被黑
- 上传问题可以说是网络编程中经常遇到的,也是一个很重要的问题,我们不仅要实现上传文件,图片等基本功能,还有考虑到上传程序的安全性,本文介绍了一
- 如何在ADO中客户端利用好缓存技术?具体应用见下例:global.asa< !--METADATA TYPE=&q
- 所有数据库和状态文件都包含在其中。但是,在确定数据目录内容的布局中管理员有某些职责。本文讨论为什么要移动数据目录的各个部分(甚至是字典本身)
- 这个使用起来很简单,以前需要的时候在网上找的,用了感觉还不错,具体的看演示就明白了。,这个可以保留你文章中的html标记,需要你修改的就是下
- 突发奇想,写了以下这段代码,感觉还不错,拿来和大家分享作用:查看页面布局使用方法:在页面底部包含以下这段代码ff3,ie7测试可用var&n
- 一:操作redis1:redis拓展安装composer require predis/predis或者你也可以通过 PECL 安装&nbs
- 各人觉得这些LOGO的设计都很好,简洁,明了,大方。特整理出来与大家分享,希望能吸取设计经验。asp之家祝愿各位09年身体健康,万事如意,网
- EcmaScript正則表達式( 深入淺出系列之淺出 ^_^ )在线正则表达式测试:http://www.aspxhome.com/RegE
- 看看下面:function zr4(y)' 准备数据dim z(10)z(1)="ONE&q
- 如何用ASP获知机器的网络配置?看看我们的例子:Option Explicit Dim WSHShell&nb
- 本文介绍了使用Application来统计访问网站的在线人数的方法,并介绍了使用Application时应该注意的事项。首先讲明白,用ASP
- 看看下面的w3 upload组件例子,很简单: upload.asp<html> <head>
- IE6下浮出层常会需要增加一个iframe来解决浮出层被Obj穿透的问题,这个是目前最有效的方案,不过这个方案本身有个缺陷,就是iframe
- 又是一年春来到,看各大网站的新年Logo也成为了我们必不可少的新年餐点,为此,我们特别整理了部分网站的新年Logo秀,如果你看到了更加有意思
- 一个SELECT查询中的LIKE语句来执行这种查询,尽管这种方法可行,但对于全文查找而言,这是一种效率极端低下的方法,尤其在处理大量数据的时
- 使用MySQL,安全问题不能不注意。以下是MySQL提示的23个注意事项:1.如果客户端和服务器端的连接需要跨越并通过不可信任的网络,那么就
- Q:Dreamweaver(简称DW)中如何输入空格?A:按下“Ctrl+Shift+空格键”或者在中