前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Es6面向对象

Es6面向对象

作者头像
切图仔
发布2022-09-08 16:34:47
1690
发布2022-09-08 16:34:47
举报
文章被收录于专栏:生如夏花绚烂

类声明

语法格式

代码语言:javascript
复制
class Person{
//构造方法
    constructor(name){
        this.name = name
    }
    run(){
        console.log('run')
    }
}

//实例化

代码语言:javascript
复制
var ll = new Person('test')
ll.run()

类继承

语法格式

代码语言:javascript
复制
class Father{
            money(){
                ...
            }
}

class Son extends Father{
    
}
var son = new Son();
son.money();

看如下代码能否正常运行

代码语言:javascript
复制
  class Father{
      constructor(x,y){
          this.x = x;
          this.y = y;
      }
      sum(){
          console.log(this.x+this.y)
      }
  }
  class Son extends Father{
      constructor(x,y){
          this.x = x;
          this.y = y;
      }
  }
  var son = new Son(1,2)
  son.sum();

由于子类也有个构造函数,参数就被传进了子类,并没有到父类的构造函数去 如果有方法将这个参数传递给父类那么问题就解决了

super关键字

super关键字用于访问和调用对象父类上的函数,可以调用父类的构造函数,也可以调用父类的普通函数

对子类进行修改

代码语言:javascript
复制
 class Son extends Father{
      constructor(x,y){
          super(x,y);//调用父类构造函数
      }
  }

super调用父类普通函数

代码语言:javascript
复制
  class Father{
      
      say(){
          return '父亲'
      }
  }
  class Son extends Father{
     say(){
         console.log('儿子')
         console.log(super.say())
     }
  }
  var son = new Son()
  son.say();
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-08-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档