ES6创建类以及添加共有方法

1.1创建类

语法格式

class name {
   //class body
}

实例化:

var xxx=new name()
//注意:必须使用new实例化对象

例:

//创建一个class,此处创作一个 学校 类
class School {

}
//实例化这个类
new School()

1.2.类constructor构造函数

定义:constructor()方法是类的构造函数(默认方法),作用是传递参数,返回实例对象,通过new命令生成实例对象时,自动调用此方法,如果没有显示定义,类内部会自动创建一个constructor()
例:
接着上一个定义的 学校 类

//创建clas类
class School {
    constructor(sname){//sname参数名称
        this.sname=sname
    }
}
//实例化对象
var beida=new School('北京大学')
console.log(beida.sname)

解析:首先我们创建一个类,然后这个类里面有一个构造函数constructor(),这个函数能够接收我们传递的参数,并且能够把这个实例返回回来给beida,不需要return返回,也就是当创建实例的时候加上了new,它就会自动调用constructor()这个函数并且执行,然后把‘北京大学’传递给sname,接着执行下一步sname赋值给this,sname,而this指向的就是创建的实例beida,这样这个实例对象beida就有sname这个属性了。

class School {
   //类的共有属性放在constructor里面
    constructor(sname,special){
        this.sname=sname  //this指向创建的实列
        this.special=special
   }
 }
//创建实例
var beida=new School('北京大学','中文系')
var qinghua=new School('清华大学','英语系')
console.log(beida)
console.log(qinghua)

解析:这次又添加一个属性special,并且查看的是实例化对象是否含有整一个类的属性。

1.3类添加方法

语法:

class name {
   constructor(){   //constructor构造器或者构造函数
       this.sname=sname
       this.speial=special
   }
   say(){
      console.log(this.sname+'我来了'
   }
}

例:
接着上一个例子添加teach的方法

class School {
   //类的共有属性放在constructor里面
    constructor(sname,special){
        this.sname=sname  
        this.special=special//this指向创建的实列
   }
   //创建一个teach方法
   teach(){
       console.log('我在学习')
   }
 }
//创建实例
var beida=new School('北京大学','中文系')
var qinghua=new School('清华大学','英语系')
console.log(beida)
console.log(qinghua)
beida.teach()//调用方法
qinghua.teach()

语法规定注意:(1)es6类里面所有的函数不需要些function
(2)多个函数方法之间不需要添加逗号分隔

接着上面例子,写一个有参数的方法

class School {
   //类的共有属性放在constructor里面
    constructor(sname,special){
        this.sname=sname  
        this.special=special//this指向创建的实列
   }
   //创建一个teach方法
   teach(){
       //console.log('我在学习')
       console.log('我在'+this.sname+'学习'+subject)
   }
 }
//创建实例
var beida=new School('北京大学','中文系')
var qinghua=new School('清华大学','英语系')
console.log(beida)
console.log(qinghua)
beida.teach('语文')//调用方法
qinghua.teach('英语')

subject接收到参数值后这个teach方法输出的就是‘我在北京大学学习语文’,‘我在清华大学学习英语’。

上一篇:Lesson 三、匿名对象的理解和使用


下一篇:经典k3cloud学习文章