首页 > 其他 > 详细

面向对象

时间:2019-04-09 16:41:14      阅读:137      评论:0      收藏:0      [点我收藏+]

 

类与实例

类的声明

function Animal(){

this.name = ‘name‘;

}

es6

class Animal2{

  constructor(){

     this.name = name

  }

 

}

生成实例

new Animal(‘1’)

new Animal2(‘2’)

类与继承

如何实现继承 继承的几种方式

继承的本质就是原型链

技术分享图片

第一种(call apply 构造函数)

 apple call 的作用是改变运行的上下文,继承部分,原型对象中的方法不会被继承

将父构造函数的this指向子类的构造函数

使子类的构造函数继承父类构造函数的属性和方法

Parent1.prototype.say=function(){}

这样的不会被子类继承

第二种(借助原型链实现继承)全部继承

子类的原型对象 = 父类的实例

那么子类的实例 new Child2.__proto__ = 子类的原型对象 = 父类的实例

所以子类继承了父类的属性和方法

技术分享图片

缺点

修改一个,另一个也会变

3.组合方式

技术分享图片

 

parent.call(this) 继承方法体的属性

下面是继承原型对象中的属性

技术分享图片

 

面向对象

原文:https://www.cnblogs.com/joer717/p/10677842.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!