1. 梗概
我们使用 class 关键字来创建一个类,类体在一对大括号 {} 中,我们可以在大括号 {} 中定义类成员的位置,如方法或构造函数。
基本概念
- child::构造函数
2. 创建类有两种方法:
3.1. 直接创建一个类(推荐⭐)
实例:
class Runoob {
constructor(name, url) {//每个类中默认包含的特殊方法,尽量习惯性地加上
this.name = name;
this.url = url;
}
word = "hi";
methodname(){
//代码
};
};
let test = new Runoob("fuck", "link");
console.log(test.say);- 以上实例创建了一个类,名为 “Runoob”。
- 类中初始化了两个动态属性:
name和url - 还创建了一个固定属性:
word - 然后用这个类作为模板创建了一个实例对象test,这个对象的
name属性为”fuck”,而url属性为”link” 以上这些属性都直接保存在实例化对象中 但类中的方法不会,而是储存在一个特殊的对象中: prototype(原型对象) 所有类实例有一个特殊的属性:[[prototype]], 指向同一个对象: 原型 如方法:methodname, 就储存在原型中
4. 多种方式添加类方法的区别:
child::多种方式添加类方法的区别
3.2. 间接在表达式中创建类:
实例:
let Runoob = class fuck {
constructor(name, url) {//每个类中默认包含的特殊方法,尽量习惯性地加上
this.name = name;
this.url = url;
}
word = "hi";
methodname(){
//代码
};
};
let test = new Runoob("fuck", "link");
console.log(test.say);这种方法实际会创建的类是Runoob而不是fuck
3. 用修饰符限制访问类中成员
child::成员访问控制
类成员的声明
- child::声明类成员
8. 类实现接口
1. 作用:
- 接口可以用来约束类中的方法和属性
- 如果实现了对应的接口
- 就必须要包含接口中所有的属性和方法,并符合对应的数据类型, 不然会报错
- 如果实现了对应的接口
2. 语法:
class 类名 implements 接口名 {
}