1.什么是Class
class是面向对象编程的一种语法,是创建对象的蓝图,描述了所创建的对象共同的属性和方法。本质上是一个模板,在这模板里,可以构造出各种各样的属性和方法。比如像这样:
//定义class时 开头名称要大写
class People {
// 构造器
constructor(name,age) {
this.name = name
this.age = age
}
//方法
SayHi(){
console.log(`名字为: ${this.name} - 年龄为: ${this.age}`);
}
}
//创建变量来 new 对象/实例
const zhangsan = new People('张三', 23)
zhangsan.SayHi() //名字为: 张三 年龄为: 23
console.log(zhangsan.name); //张三
console.log(zhangsan.age ); //23
2.如何用class来继承
(1)先声明一个父类
(2)然后用extends 来继承这个父类
(3)super来传递父类声明的值
具体实例如下:
// 父类
class People {
constructor(name) {
this.name = name
}
eat() {
console.log(`${this.name} eat something`)
}
}
// 子类继承父类
// 如果需要用到父类的属性通过super可以直接拿到
class Teacher extends People {
constructor(name,major) {
// super直接拿类定义过的值来用
super(name)
this.major = major
}
teach() {
console.log(`${this.name} 教授 ${this.major}`)
}
}
// 实例
const wanglaoshi = new Teacher('王老师', '语文')
console.log(wanglaoshi.name); // 王老师
console.log(wanglaoshi.major); // 语文
wanglaoshi.teach() // 王老师 教授 语文
注 : 自己学习整理,如果有不对的地方,还请多多指教,谢谢大家 ~!