1. 梗概

我们使用 class 关键字来创建一个类,类体在一对大括号 {} 中,我们可以在大括号 {} 中定义类成员的位置,如方法或构造函数。

基本概念

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);

  1. 以上实例创建了一个类,名为 “Runoob”。
  2. 类中初始化了两个动态属性: nameurl
  3. 还创建了一个固定属性:word
  4. 然后用这个类作为模板创建了一个实例对象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::成员访问控制

类成员的声明

8. 类实现接口

1. 作用:

  1. 接口可以用来约束类中的方法和属性
    1. 如果实现了对应的接口
      1. 就必须要包含接口中所有的属性和方法,并符合对应的数据类型, 不然会报错

2. 语法:

class 类名 implements 接口名 {
}