
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 关键字定义的静态成员
小伙伴们今天就分享到这里(手动呲牙)
本文介绍了JavaScript ES6中的类继承机制,通过class声明实现构造函数的继承,并使用extends关键字和super关键字处理构造函数和方法的继承。示例代码展示了如何创建子类并实例化,同时解释了静态成员的使用。通过控制台打印结果验证了继承的正确性。
258

被折叠的 条评论
为什么被折叠?



