一、ES6的面向对象语法
关于ES6的面向对象编程,我在之前的一篇博客中也阐述过基本概念,在这在复习一下吧。
1、面向对象的三大特征:
(1)封装性:对象是属性和行为的封装体
(2)多态性:同一消息被不同对象接收后,表现的结果不同
(3)继承性:子类可以继承父类的属性和方法
2、如何在ES6中定义类
首先我们需要知道什么是类?类就是具有相同属性的类或集合。
基本语法:
class PremierLeague{
constructor(team,top,int){
//构造方法
this.team = team
this.top = top
this.int = int
this.goal = null
}
show(){
//成员方法
console.log('球队名称:',this.team)
console.log('球队排名:',this.top)
console.log('球队积分:',this.int)
console.log('球队赛季进球数:',this.goal)
}
}
注意:
1、‘类名’:首字母大写
2、构造方法:对类的对象进行初始化,但不会显式调用
3、成员方法:表示某种行为
4、对象:是类的实例化
3、在ES6中创建对象:
var pl = new PremierLeague('曼城','第一',93) //在内存中开辟了一个存储空间
3.1、构造方法:
(1)、作用是初始化对象
(2)、不能显式调用,而是通类名调用
3.2、this指针:指当前的对象
3.3、属性和方法的使用
(1)、属性:对象名.属性
(2)、方法:对象名.方法名([参数])
二、ES6中类的继承
子类可以继承父类的部分属性和方法,在继承后子类还可以定义自己独有的属性和方法
1、子类(派生类):继承的类
2、父类(超类、基类):被继承的类
3、子类访问父类的属性和方法
3.1、使用super关键字调用父类的构造方法:super([参数 ])
注意:
(1)、从父类继承过来的属性必须通过super调用父类的构造方法进行初始化
(2)、super([参数 ])
必须是子类构造方法的第一条语句
(3)、无论是父类或子类属性的初始化都必须 通过构造方法来完成
3.2、使用super调用父类的普通成员方法:super.方法名([参数])
4、语法格式:
class PremierLeague{
constructor(team,top,int){
this.team = team
this.top = top
this.int = int
this<