关键词:
前面我们铺垫了非常多细节。是为了让大家更加明晰prototype的使用细节;
如今能够将前面的知识整合起来,写一个函数用于高速构建基于原型链的继承关系了:
function extend(Child, Parent) { var F = function(){}; F.prototype = Parent.prototype; Child.prototype = new F(); Child.prototype.constructor = Child; Child.uber = Parent.prototype; }
使用起来也特别简单:
function Shape(){} // augment prototype Shape.prototype.name = ‘shape‘; Shape.prototype.toString = function(){ var result = []; if (this.constructor.uber) { result[result.length] = this.constructor.uber.toString();//super.toString() } result[result.length] = this.name; return result.join(‘, ‘); }; function TwoDShape(){} //先继承。再增强 extend(TwoDShape,Shape); TwoDShape.prototype.name = ‘2D shape‘; function Triangle(side, height) { this.side = side; this.height = height; } extend(Triangle,TwoDShape); Triangle.prototype.name = ‘Triangle‘; //使用继承而来的toString方法 alert(new Triangle(10,5).toString());
08java面向对象之继承
JavaSE基础之八08Java面向对象之继承①对象与对象之间的关系关联关系:最弱的一种关系(学生类中包含了老师)继承关系:比较强的一种关系,is-a,你能够用:什么是什么说通聚合关系:比较强的关系,聚集和组合,什么是什... 查看详情
javascript面向对象编程:构造函数的继承
原文链接:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_inheritance.html总结对象之间继承的5种方法:比如,现在有一个"动物"对象的构造函数。 functionAnimal(){ this.species="动物"; }还有一个"猫"对象的构造函数。... 查看详情
快速理解javascript面向对象编程—原型继承
总的来说js语言就是门面向对象编程的语言,对象这个概念几乎贯穿了整个js的学习。 对象 创建对象两种方法:(若要生成对象实例必须调用构造函数) 1、varobj={name:"jer",age:12};(在js内部调用了预设的Object()构... 查看详情
javascript面向对象编程—继承和封装
前 言 Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象。但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类)。面向对象主要专注于有哪一个对象来解决这... 查看详情
javascript面向对象编程:非构造函数的继承
转载自:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_inheritance_continued.html 一、什么是"非构造函数"的继承?比如,现在有一个对象,叫做"中国人"。 varChinese={ nation:‘中国‘ };还有一个对象,叫做"医生"... 查看详情
javascript面向对象编程:非构造函数的继承
什么叫非构造函数的继承?比如,现在有一个对象,叫做"中国人"。 varChinese={ nation:‘中国‘ };还有一个对象,叫做"医生"。 varDoctor={ career:‘医生‘ }请问怎样才能让"医生"去继承"中国人"... 查看详情
javascript面向对象编程:非构造函数的继承
今天是最后一个部分,介绍不使用构造函数实现"继承"。一、什么是"非构造函数"的继承?比如,现在有一个对象,叫做"中国人"。1 varChinese={2 nation:‘中国‘3 };还有一个对象,叫做"医生"。 1 varDoctor={2 ... 查看详情
javascript面向对象编程:构造函数的继承
作者: 阮一峰日期: 2010年5月23日这个系列的第一部分,主要介绍了如何"封装"数据和方法,以及如何从原型对象生成实例。今天要介绍的是,对象之间的"继承"的五种方法。比如,现在有一个"动物"对象的构造函数。 ... 查看详情
javascript面向对象编程:非构造函数的继承
作者: 阮一峰日期: 2010年5月24日这个系列的第一部分介绍了"封装",第二部分介绍了使用构造函数实现"继承"。今天是最后一个部分,介绍不使用构造函数实现"继承"。一、什么是"非构造函数"的继承?比如,现在有一个... 查看详情
javascript--面向对象原型继承(代码片段)
1.面向对象原型继承面向对象编程JavaScript的面向对象编程和大多数其他语言如Java、C#的面向对象编程都不太一样。如果你熟悉Java或C#,很好,你一定明白面向对象的两个基本概念:所以,类和实例是大多数面向对... 查看详情
javascript面向对象编程:非构造函数的继承
原文链接:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_inheritance_continued.html作者: 阮一峰这个系列的第一部分介绍了"封装",第二部分介绍了使用构造函数实现"继承"。今天是最后一个部分,介绍不使用构造函数实现"... 查看详情
javascript面向对象编程2:构造函数的继承
这个系列的第一部分,主要介绍了如何"封装"数据和方法,以及如何从原型对象生成实例。对象之间的"继承"的五种方法。比如,现在有一个"动物"对象的构造函数。functionAnimal(){this.species="动物";}还有一个“猫"对象的构造函数。f... 查看详情
javascript面向对象之实现继承的5种方法
1<html>2<head></head>3<body>4<scripttype="text/javascript">56/*7以下为文档原话:8ECMAScript实现继承的方式不止一种。9这是因为JavaScript中的继承机制并不是明确规定的,而是通过模仿实现的。这意味着所有的继承细节并... 查看详情
java面向对象编程之继承
前言Java语言有三大重要的特性,分别是继承、多态和封装。今天我们就来聊聊继承,继承是复用程序代码的有力手段,使用继承我们会少写许多代码,也可以让我们在写代码的时候逻辑变得更加清楚。继承的基本语法在Java语言... 查看详情
javascript面向对象编程:构造函数的继承
今天要介绍的是,对象之间的"继承"的五种方法。比如,现在有一个"动物"对象的构造函数。 functionAnimal(){ this.species="动物"; }还有一个"猫"对象的构造函数。 functionCat(name,color){ this.name=name; this.... 查看详情
javascript面向对象编程:构造函数的继承
今天要介绍的是,对象之间的"继承"的五种方法。(来自阮一峰)比如,现在有一个"动物"对象的构造函数。functionAnimal(){ this.species="动物"; }还有一个"猫"对象的构造函数functionCat(name,color){ this.name=name; ... 查看详情
javascript之继承
主要是参考了《JavaScript高级程序设计(第三版)》这本书,根据自己的理解,做了下面的记录 继承是面向对象(OO)语言里面的概念,有俩种继承方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实... 查看详情
javascript面向对象编程---构造函数的继承
这个系列的第一部分,主要介绍了如何"封装"数据和方法,以及如何从原型对象生成实例今天要介绍的是,对象之间的"继承"的五种方法。比如,现在有一个"动物"对象的构造函数。 functionAnimal(){ this.species="动物"; ... 查看详情