`
秦瑶123
  • 浏览: 14941 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

构造函数之间的继承

阅读更多

怎样实现数与函数间的继承?

比如,现在有一个"动物"对象的构造函数,还有一个"猫"对象的构造函数。

 

 function Animal(){
    this.species = "动物";
  }
Animal.prototype.eat=function(){
  alert('吃食物');

  function Cat(name,color){
    this.name = name;
    this.color = color;
    Animal.call(this);
  }
function extend2(Child, Parent) {
    var p = Parent.prototype;
    var c = Child.prototype;
    for (var i in p) {
      c[i] = p[i];
      }
    c.uber = p;
  }
 extend2(Cat,Animal);
    var cat1 = new Cat("大毛","黄色");
   alert(cat1.species); // 动物
   cat1.eat();//吃食物

 

cat函数通过call调用得到 Animal函数的属性,也通过extend2函数(把父对象的所有方法,拷贝进子对象)使得cat函数有了Animal函数的eat()的方法。

分享到:
评论

相关推荐

    JavaScript中构造函数与原型链之间的关系详解

    在Javascript中不存在class的概念,它... 4、实例对象都可以继承构造函数中的属性和方法。但是,同一个对象实例之间,无法共享属性。 2.原型(prototype):是一个对象,实现对象的属性继承。javascript 中的对象通过 p

    c++ 习题 派生类和继承

    含有虚基类的派生类的构造函数有什么要求,什么是最远派生类,建立一个含有虚基类的派生类的对象时,为什么由最远派生类的构造函数负责虚基类的初始化?继承与组合之间的区别与联系是什么?派生类的构造函数是怎样的...

    JS面向对象编程基础篇(一) 对象和构造函数实例详解

    本文实例讲述了JS面向对象编程对象和构造函数。分享给大家供大家参考,具体如下: 面向对象编程(Object Oriented Programming,缩写为 OOP)是目前主流的编程范式。它将真实世界各种复杂的关系,抽象为一个个对象,...

    浅谈JavaScript面向对象–继承

    2.1构造函数之间的“复制粘贴” 第一条路是通过构造函数来继承,这可以理解为子类直接复制了父类构造函数的代码,然后按照一定的规矩“粘贴”在自己的构造函数中,为己所用。举个例子:   如果A要继承B的属性,...

    深入理解Angular.JS中的Scope继承

    每个原型对象又获得一个constructor属性指向相应的构造函数,原型对象的其他属性和方法从Object继承而来。每个通过构造函数创建的实例,都包含一个指向构造函数原型对象的内部属性[[Prototype]](在浏览器中通常实现...

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

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

    C#初学练习程序

    编一个程序,输入0—100之间的一个学生成绩分数,用switch语句输出成绩等第(成绩优秀(90-100),成绩良好(80-89),成绩中等(60-79)和成绩不及格(59以下)) 3、猜数字游戏,编写一个类,预先定义一个常量,从...

    【独家】【笔面试知识要点】16.OOP与OBP构造函数静态块1

    76.面向对象的编程语言和基于对象的编程语言之间有什么区别?基于对象的编程语言遵循OOP的所有功能(继承除外)。JavaScript是基于对象的编程语言的示例。

    javascript的几种继承方法介绍

    1.原型链继承:构造函数、原型和实例的关系:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针。确认原型和实例之间的关系用instanceof。 原型链继承...

    C++继承PPT

    C++语言继承详细阐述,继承使软件复用变得简单、易行,可以通过继承复用已有的程序资源,缩短...本文档主要介绍继承的方式,要注意在继承方式下派生类与基类对象之间的关系,以及派生类构造函数如何提供对基类的构造。

    JS面向对象编程基础篇(三) 继承操作实例详解

    构造函数的继承 上一篇JS面向对象编程封装操作,主要介绍了如何”封装”数据和方法,以及如何从原型对象生成实例。 今天要介绍的是,对象之间的”继承”的五种方法。 比如,现在有一个”动物”对象的构造函数。 ...

    JavaScript 常见的继承方式汇总

    构造函数和原型还有实例之间的关系:  每个构造函数都有一个原型对象(prototype),原型对象都包含一个指向构造函数的指针(constructor),而实例都包含一个指向原型对象的内部指针 ( __propto__ ) 。关系图...

    深入理解javascript原型链和继承

    在上一篇文章中,介绍了原型的概念,了解到在javascript中构造函数、原型对象、实例三个好基友之间的关系:每一个构造函数都有一个“守护神”——原型对象,原型对象心里面也存着一个构造函数的“位置”,两情相悦,...

    prototypal-oo-reviewing-javascript-prototypal-inheritance-quiz-online-test-2018

    :由工厂函数创建的对象与构造函数创建的对象之间的主要区别是: ()Factory函数无法使用方法创建对象(X)构造函数的创建将其构造函数标识为构造函数名称()构造函数无法创建Object类型的实例()Factory函数的...

    提高C#编程水平的50个要点

    用多个构造函数时,利用构造函数链  15.使用using和try/finally来处理资源的释放  16.尽量避免产生资源垃圾  17.尽量避免使用装箱(boxing)和拆箱(unboxing)  18.实现类的 Dispose 方法  19.在接口和继承...

    C#中类和结构的区别 -- 示例详解

    没有默认的构造函数,但是可以添加构造函数 没有析构函数 没有 abstract 和 sealed(因为不能继承) 不能有protected 修饰符 可以不使用new 初始化 在结构中初始化实例字段是错误的 类: 有默认的构造函数 有...

    c++面向对象复习题答案版.doc

    4.拷贝构造函数是在用一个对象初始化另一个对象时被调用,系统缺省的拷贝构造函数的工作方法是( 把对象的每个数据成员的值都复制到新建立的对象中)。 5.用new申请某一个类的动态对象数组时,在该类中必须能够匹配到...

    重学JS 系列:聊聊继承(推荐)

    每个对象的原型都可以通过 constructor 找到构造函数,构造函数也可以通过 prototype 找到原型 所有函数都可以通过 __proto__ 找到 Function 对象 所有对象都可以通过 __proto__ 找到 Object 对象 对象之间通过 ...

    GLAU_BCSC0002:这是GLA大学2019面向对象编程BCSC0002课程的官方资源库

    GLA大学,2019面向对象编程(BCSC0002)与面向对象的编程实验室(BCSC0801) 该存储库将存储与此课程相关的所有内容。... Java中的构造函数:构造函数简介,用法,声明,方法与构造函数之间的差异,构造函数的类型

    JAVA—面向对象

    构造函数 特点: 作用: 隐藏机制: 构造函数和一般函数的不同 构造代码块: 作用: 特点: 构造代码块和构造函数的区别: this: Static关键字 用法: 被修饰的成员具备以下特点: 注意 静态代码块: 特点: 实例...

Global site tag (gtag.js) - Google Analytics