zoukankan      html  css  js  c++  java
  • JS面向对象组件(四) -- 面向对象的继承

    什么是继承
      •在原有对象的基础上,略作修改,得到一个新的对象
      •不影响原有对象的功能
    //父类   createPerson
     function  createPerson(name,sex){
         this.name = name;
         this.sex = sex;
     }
     createPerson.prototype.showName = function(){
         alert(this.name);
     }
     var a = new createPerson("小明","");
    
     //子类   createStar
    function createStar(name,sex,job){
        //createPerson(name,sex);   //最初的想法肯定是直接调用父类的构造函数,但是结果不行。因为调用这个构造函数前面没任何东西,this代表window、
        createPerson.call(this,name,sex);   //所以要通过call改变this的指向。  指向为这儿b。
        this.job = job;
    }
     createStar.prototype = createPerson.prototype;    //这个就存在对象引用的问题,但凡改变两个对象中的任意一个,另一个也会变。
     createStar.prototype.showJob = function(){
         alert(this.job);
     }
     var b = new createStar("黄晓明","","演员");
     b.showName();
    
     console.log(a);    //会多出一个showJob
     console.log(b);

    所以上面特意添加了个子类的方法showJob,来测试 createStar.prototype = createPerson.prototype 这个的问题。

    具体解决方案见下篇、
  • 相关阅读:
    Dynamic proxy (good-原创)
    思维导图
    Android学习之 WebView使用小结
    shell语法简单介绍
    php反射类 ReflectionClass
    老鸟的Python新手教程
    腾讯云安装openvz,高速搭建測试环境
    NYOJ-1058 部分和问题
    NGUI ScrollView动态加入和删除对象。
    几种常见模式识别算法整理和总结
  • 原文地址:https://www.cnblogs.com/wanliyuan/p/5245133.html
Copyright © 2011-2022 走看看