`
jickcai
  • 浏览: 238715 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

原型式继承的例子

阅读更多

原型式继承的例子:
 <script>
//为Person 对象创建一个构造函数

 function Person(name){
   this.name=name;
}
//为Person对象添加一个新方法
Person.prototype.getName=function(){
   return this.name;
};

//创建一个新的User对象的构造函数

function User(name,password){

//注意,这里并没有支持方便的重载/继承,也就是说,不能调用父类的构造函数
   this.name=name;
   this.password=password;
}

//User对象继承所有Person对象的方法
User.prototype=new Person();
User.prototype.getPassword=function(){
  return this.password;
};
var u=new User("cai","123");
alert(u.getName());//outputs "cai"
<script>
在上面这个例子中最重要的一行是User.prototype=new Person();让我们来仔细分析一下这究竟是什么意思:User是对User对象构造函数的引用。new Person()使用Person构造函数创建一个新的Person对象,然后把User构造函数的原型置为这个操作的结果。也就是说,每当你new User()时,得到的新User对象都会带有Person对象的所有方法,如同通过操作new Person()得到的一样

分享到:
评论

相关推荐

    【JavaScript源代码】深入JS继承.docx

     目录 前言准备总结继承的n种方式原型式继承原型链式继承借用构造函数(类式继承)组合继承寄生组合式继承结束语 前言 准备 总结 继承的n种方式 原型式继承原型链式继承借用构造函数(类式继承)组合继承寄生组合...

    js原型链与继承解析(初体验)

    然后我们定义一个函数foo(),任何一个函数都有它的prototype对象,即函数的原型,我们可以在函数的原型上添加任意属性,之后通过new一个实例化的对象可以共享其属性(下面的两个例子会详细介绍)。 function foo(){}...

    基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解

    构造函数、原型实现继承的缺陷 首先来分析构造函数和原型链两种实现继承方式的缺陷: 构造函数(对象冒充)的主要问题是必须使用构造函数方式,且无法继承通过原型定义的方法,这不是最好的选择。不过如果使用原型链...

    js 原型对象和原型链理解

    js函数的原型对象constructor默认指向函数本身,原型对象除了有原型属性外,为了实现继承,还有一个原型链指针__proto__,该指针指向上一层的原型对象,而上一层的原型对象的结构依然类似,这样利用__proto__一直...

    prototypal-inheritance-test-require-js:原型继承+RequireJS的例子

    原型继承测试需要js 原型继承+RequireJS的例子

    JavaScript原型和继承

    前几天看了《再谈js面向对象编程》...在了解原型链之前我们先来看看一个函数在创建过程中做了哪些事情,举一个空函数的例子:functionA(){};当我们在代码里面声明这么一个空函数,js解析的本质是(肤浅理解有待深入):

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

    JavaScript继承的三种方法实例 ... 继承是一种关系:父类级别与类级别的关系 例子: 人类别: 姓名, 性别, 年龄 ,吃饭, 睡觉 学生类别: 姓名, 性别, 年龄 ,吃饭, 睡觉 学习行为 老师类别: 姓名, 性别, 年龄 ,

    浅谈javascript原型链与继承

    js原型链与继承是js中的重点,所以我们通过以下三个例子来进行详细的讲解。  首先定义一个对象obj,该对象的原型为obj._proto_,我们可以用ES5中的getPrototypeOf这一方法来查询obj的原型,我们通过判断obj的原型...

    浅析JavaScript原型继承的陷阱

    JavaScript默认采用原型继承。虽然没有类(class)的概念,它的函数(function)可以充当构造器(constructor)。构造器结合this,new可以构建出类似Java的类。因此,JavaScript通过扩展自身能模拟类式(class-based)继承。...

    基于JavaScript实现继承机制之原型链(prototype chaining)的详解

    如果用原型方式重定义前面例子中的类,它们将变为下列形式: 代码如下:function ClassA() {} ClassA.prototype.color = “blue”;ClassA.prototype.sayColor = function () { alert&#40;this.color&#41;;}; ...

    老生常谈Javascript中的原型和this指针

    1、Javascript中的原型...下面来看一个使用原型实现继承的例子: 1.1使用原型实现继承:   function Person(name){ this.name = name; this.getName = function(){ return this.name; } } function Artist(type){

    selfish:无类的纯原型继承

    无类的纯原型多重继承,使您可以编写富有表现力的,结构良好的代码。 安装 服务器端 npm install selfish 客户端 bower install selfish 要求 服务器端 var Base = require ( '!raw.github....

    Javascript 学习笔记之 对象篇(二) : 原型对象

    Javascript 并没有类继承模型,而是使用原型对象 prototype 进行原型式继承。尽管人们经常将此看做是 Javascript 的一个缺点,...举个例子,在原型式继承顶端构建一个类模型很简单,然而反过来则是个困难得多的任务。

    详解一个小实例理解js原型和继承

    导语1:一个构造函数的原型对象,其实就是这个构造函数的一个属性而已,属性名叫prototype,值是一个对象,对象中有一些属性和方法,所以每个构造函数的实例对象都拥有这些属性和方法的使用权。 导语2:构造函数需要...

    factory:JavaScript 原型继承

    例子 var A = factory({ init: function (u, v) { this.u = u; this.v = v; }, roll: function () { console.log("roll"); } }); var B = factory({ init: function (i) { this.i = i; }, jump: ...

    Python设计模式之原型模式实例详解

    本文实例讲述了Python设计模式之原型模式。分享给大家供大家参考,具体如下: 原型模式(Prototype Pattern):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 一个原型模式的简单demo: #!/usr/bin/...

    objex:基本构造函数可简化原型继承

    基本构造函数可简化原型继承。 。 简单的例子 var Objex = require ( 'objex' ) , Animal = Objex . create ( function ( ) { Animal . __super . apply ( this , arguments ) ; this . feet = 4 ; this . ...

    js模拟类继承小例子

    代码如下: //使用原型继承,中间使用临时对象作为Child的原型属性,临时对象的原型属性再指向父类的原型, //防止所有子类和父类原型属性都指向通一个对象. //这样当修改子类的原型属性,就不会影响其他子类和父类 ...

Global site tag (gtag.js) - Google Analytics