• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

joer717

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

面向对象

 

类与实例

类的声明

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) 继承方法体的属性

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

 

posted on 2019-04-09 16:33  joer717  阅读(76)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3