面向对象中的继承
创始人
2024-03-16 22:19:13
0

面向对象中的继承

封装

低耦合,高内聚

多态

重载&重写

重载

其实这是后台的知识,这么做的原因是:涉及到服务器的承压能力。减轻并发数

重写

子类重写父类中的方法

怎么理解面向对象?

一切皆对象……学院派的答法,尽量不要。

  • 原型继承

手动加上constructor,保证原型重定向的完整性

本质概念

原型继承:

改变原型链的指向, 让子类的原型链上出现父类的原型,让子类的原型指向父类的某个实例。

特点

  1. 是查找型继承,不是拷贝继承
  2. 不希望影响到其他实例

3.我们希望的是,私有的变为私有的,公有的变为公有的

b710765104414431f1bbc1fa1b9f5683.png7765ea14369ce9fa30bf76c18f83e0a6.png

 

function A(x){this.x=x;
}
A.prototype.getX=function(){
    console.log(this.x);
}
// 原型继承
B.prototype=new A(100)
B.prototype.constructor=B;
function B(y){this.y=y;
}
B.prototype.getY=function(){
    console.log(this.y);
}

  • CALL继承和寄生组合继承

子类继承了父类的私有属性,也继承到了子类的私有属性上

  • 寄生组合继承

比较推荐的方式

es6之前,相对来说比较完整的方式

 

Object.create

扩展一下 Object.create

Object.create(proto) 创建一个空对象,让其__proto__指向proto

function A(x){// console.dir(this);this.x=x;
}
A.prototype.getX=function(){
    console.log(this.x);
}
B.prototype=Object.create(A.prototype);
B.prototype.constructor=B;
function B(x,y){A.call(this,x)this.y=y;
}
B.prototype.getY=function(){
    console.log(this.y);
}
let b=new B(100,200)
console.dir(b);
// console.dir(Object.create(A.prototype))

  • ES6的继承

es6 extends

应用

相关内容

热门资讯

汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...