ES6 中 class 类继承

在这里插入图片描述

ES6 中 class 类继承

类继承是通过 class 声明一个构造函数,这个构造函数也是可以通过 new 实例化

那就废话不多说了,直接上代码

首先先创建一个类

class Person {
   // 添加成员
   head = 1
   legs = 2
   language = '汉语'
   constructor(uname, age) {
     // 构造函数用于接收参数,初始化
     // 在 new 的时候就会执行
     this.uname = uname
     this.age = age
   }
   say() {
     console.log('说话!!!')
   }
   eat() {
     console.log('吃饭!!!')
   }
   // static 修饰的成员为静态成员
   static skin = 'yellow'
   static language = '汉语'
   static sey() {
     console.log('一块牛肉')
   }
}

class Son extends Person {
   eye = 2
}

let obj = new Son('张三', 22)
      
console.log(obj)

控制台打印

在这里插入图片描述

从控制台打印结果可以看出,Son 实例对象通过 extends 关键字确实继承了 Person 里面的属性和方法,通过原型链的作用可以直接调用, Person 构造函数里面的 constructor 是一个构造器,也称之为(构造函数、构造方法)

如果父元素里面有 constructor 构造器,子元素里面也有 constructor 构造器,那就得用到 super 关键字,直接上代码

class Person {
   //添加成员
   head = 1
   legs = 2
   language = '汉语'
   constructor(uname, age) {
     //构造函数用于接收参数,初始化
     //在new的时候就会执行
     this.uname = uname
     this.age = age
   }
   say() {
     console.log('说话!!!')
   }
   eat() {
     console.log('吃饭!!!')
   }
   //静态成员
   static skin = 'yellow'
   static language = '汉语'
   static sey() {
     console.log('说话')
   }
}

class Son extends Person {
   constructor(eye, uname, age) {
      super(uname, age) // super 关键字
      this.eye = eye
   }
   sayName() {
      console.log('hello javascript')
   }
}

let obj = new Son(2, '张三', 22)

console.log(obj)

obj.eat() // 吃饭!!!

控制台打印

在这里插入图片描述

控制台输出可以看见 Son 自身的属性以及方法,还有继承于 Person 的属性方法,还有通过 static 关键字定义的静态成员


小伙伴们今天就分享到这里(手动呲牙)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值