ES6面对对象的使用方法
面对对象思想介绍
在面对对象程序开发思想中,每个对象都是功能中心,具有明确的分工面的对象编程具有灵活、代码可复用性、容易维护和开发的优点,更适合多人合作的大型网络项目
基本语法
//注意,类不需要括号,要括号的是函数
class Star{
//class body
}
constructor 构造函数
constructor()方法是类的构造函数(默认的方法),用于传递参数,返回实例对象,通过new命令生成对象实例时,自动调动该方法,如果没有显示定义,类内部会自动给我们创建一个constructor();
class Star{
constructor(name){
//在constructor当中,接受了一个name变量,this指向的是实例
//在面对对象的思想当中,谁调用就指向谁
this.name = name
}
}
创建一个简单类并且调用
class Star{
constructor(name){
this.name = name
}
}
//要注意,在面对对象当中,想要调用一个类。必须实例化一个对象,实例对象使用关键字new
//创建一个ldh实例,并且传入一个name
let ldh = new Star('刘德华')
//调用ldh.name来获取传入的name
console.log(ldh.name)
添加方法
class Star{
constructor(name,age){
this .name = name
this.age = age
}
sing(){
conlose.log(this.name+'唱的真好听')
}
}
//实例化类
let zxy = new Star('张学友',18)
zxy.sing()
继承
extends
子类可以继承父类的属性和方法,通过关键字:extends
class Father{
//父类
}
class Son extends Father{
//子类继承父类
}
super关键字
super 关键字用于访问和调用对象父类上的函数。可以调用父类的构造函数,也可以调用父类的普通函数
class Ftaher{
constructor(x,y){
this.x = x;
this.y = y;
}
Sum(){
console.log(this.x + this.y);
}
}
super.say就是调用父类里面的say()方法,普通函数
注意:子类构造函数当中使用super,必须放到this前面(必须先调用父类的构造方法,在使用子类构造方法)
class Son extends Ftaher{
constructor(x,y){
super(x,y);//调用了父类中的构造函数,他参数从子类传到父类
}
}
//向子类传递了3,4
var son = new Son(3,4);
//调用子类的方法,但是子类没有Sum方法,所以这个方法是父类的son.Sum();