Node开发(八)Class类
在ES5使用构造函数来创建对象(一直在使用函数来模拟对象)
在ES6中,引入class关键字,可以使用class来定义类
一、Class简介
1.什么是类?
类是用来描述具有一些共同的特性和行为的事物
类由属性和方法组成
2.什么是对象?
对象是类的实例
3.class
class Student { constructor(no, name, age) { this.no = no; this.name = name; this.age = age; } study(){ console.log('学习中....'); } } let s=new Student('1000','李四',18); console.log(s);
4.Constructor
每一个类都有一个构造器(若没有显示的声明构造器,则系统会自动添加一个无参的构造器)
构造器不能被主动调用,构造器在class被实例化(new)的时候,会自动的执行
5.成员属性和成员方法
成员属性就是实例的属性
成员方法就是实力的方法
6.静态属性和静态方法
静态属性是类的属性
静态方法是类的方法
class Student { //静态属性 static hands = '两只手'; //成员属性 constructor(no, name, age) { this.no = no; this.name = name; this.age = age; } //成员方法 study() { console.log('学习中....'); } //静态方法 static test() { console.log('考试中....'); } }
二、继承
在ES6中使用extends关键字来实现继承
继承是单向的(单向,单继承)
父类(基类/超类)
子类(派生类)
class Person { constructor(name, age) { this.name = name;//成员属性 this.age = age; } say() { console.log(`${this.name} 在说话....`); } } //子类 class Student extends Person { constructor(name,age,no){ super(name,age);//调用父类的构造器 this.no=no; } test(){ console.log('考试中'); } }
Super关键字:
有两个用法:
用法一:在子类的构造函数中通过调用super()来调用父类的构造器(必须在子类的构造器的第一行调用super方法)
用法二:在子类中,可以通过super关键字调用父类的内容
漫思