美文网首页
js的封装和继承

js的封装和继承

作者: Aaron阿槑与阿瓜 | 来源:发表于2017-12-22 15:27 被阅读0次

封装

1、利用封装

 function person(name,age)
   {
    this.name=name;
    this.age=age;

    this.showName=function()
    {
        alert(this.name);
    }
    this.showAge=function()
    {
        alert(this.age);
    }
   }

优点:会为每个对象创建独享的函数对象,所有的属性和方法都为私有的

缺点:方法和属性都是固定的,类似于java中的封装,方法和属性都是固定的

2、混合构造函数/原型方式:

function person(name,age)
  {
    this.name=name;
    this.age=age;
  }
  person.prototype={
        showName:function()
        {
            alert(this.name);
        },
        showAge:function()
        {
            alert(this.age);
        }
  }
   var op=new person('blue',11);  
   op.showAge();

优点:属性私有后,改变各自的属性不会影响别的对象。同时,方法也是由各个对象共享的。在语义上符合面向对象的思想;

继承

1、包括属性的继承和方法的继承;

function person(name,sex)
{
    this.name=name;
    this.sex=sex;
}
person.prototype={
    showName:function()
    {
        alert(this.name);
    },
    showSex:function()
    {
        alert(this.sex);
    }
}


function worker(name,sex,job)
{
    person.call(this,name,sex);     //构造函数伪装,调用父级的构造函数-为了继承属性
    this.job=job;
}

//原型链  通过原型继承父类的方法;

for(attr in person.prototype)
{
    worker.prototype[attr]=person.prototype[attr];
}
worker.prototype.showJob=function()
{
    alert(this.job);
}

 var op=new person('blue','男');  
  var ow=new worker('blue','男','程序员');

  op.showName();  //blue
  op.showSex();  //男
  ow.showName();  //blue
  ow.showSex();  //男
  ow.showJob();  //程序员

优点:父类新加的功能,子类也具备,子类新加的功能,不影响父类;

相关文章

  • js的封装和继承

    封装 1、利用封装 优点:会为每个对象创建独享的函数对象,所有的属性和方法都为私有的 缺点:方法和属性都是固定的,...

  • JS面向对象整理篇一——基础概念衍生

    JS面向对象 oop 继承:实例可以继承A对象中的方法和属性,减少代码冗余 封装:对象把实现过程封装在方法中,调用...

  • JavaScript继承

    js继承方式js是一门弱类型动态语言,封装和继承是他的两大特性 原型链继承 优点: 简单易于实现 实例是子类的实例...

  • JS汇总---面向对象&数组

    面向对象 js原型链的继承 静态属性怎么继承 js原型链以及特点 面向对象有哪几个特点 封装,继承,多态 对象的继...

  • 类的封装、继承

    类的继承:封装和多态 [封装]:把实现一个功能的js代码进行封装主要目的:低耦合高内聚[多态]:重载:方法名相同,...

  • JS中类的继承封装和多态

    子类继承父类的属性和方法(原生继承,call继承,寄生组合继承,ES6中class类继承)原生继承:让子类的原型指...

  • Js的继承

    js的继承 @(js)[继承, js, 前端] 组合继承是原性链继承和构造函数继承的合体,它汲取了二者各自的有点,...

  • (八)方法的继承、重写和扩展

    一、继承 1.封装与继承的概念 封装:根据需求将属性和方法封装到一个抽象的类中;继承:获得父类的属性和方法,实现代...

  • JS继承

    JS中的继承 许多OO语言都支持两种继承方式:接口继承和实现继承; 因为JS中没有类和接口的概念 , 所以JS不支...

  • Javaoop 继承和封装

    JavaOOP 正文: JAVAOOP第一章:封装和继承 ,下面是我做的一个Xmind 封装和继承 封装的概念及实...

网友评论

      本文标题:js的封装和继承

      本文链接:https://www.haomeiwen.com/subject/ijfxgxtx.html