先解释一下下面那个案例过程,首先我们通过class Person创建了一个类,然后类里面有一个constructor,它可以接收我们传递过来的参数,同时把这个实例返回回来,也就是返回给zzz,当我们用new一调用,它会自动执行constructor,然后把勒布朗传递给user,然后又把user赋值给了this.user,然后this.user又指向我们创建的实例zzz,所以zzz就有个user这个属性
ES6中新定义了class方法来创建一个类
类抽象了对象的公共部分,它泛指某一大类(class)
对象特指某一个,通过类实例化一个具体的对象
再说一下面向对象的思维特点:
1.抽取(抽象)对象共用的属性和行为组织(封装)成一个类(模版)
2.对类进行实例化,获取类的对象
创建一个类很简单,例如
class name{
}
这就创建了一个类
类创建了,接下来创建实例了
let abc = new name()
这就创建了一个实例,注意,类必须使用new实例化对象
下面有一个非常重要的,那就是constructor,很多人把它叫做构造器
constructor方法是类的构造函数,用于传递参数,返回实例对象,通过new命令生成对象实例时,自动调用该方法,如果没有显示定义,类内部会自动给我们创建一个
结下来讲一个具体怎么使用
class Person{
constructor(user){
this.user = user
}
}
let zzz = new Person('勒布朗')
具体解释一下,首先当我new实例的时候,它自动调用了上面的constructor,所以这个函数就会执行,会把勒布朗传递给user,同时this指向我们创建的一个实例,也就是指向zzz,所以我们的zzz就有user这个属性了
当我们运行console.log(zzz.user),就可以打印出勒布朗了
当然你也可以加其他属性
class Person{
constructor(user,age){
this.user = user
this.age = age
}
}
let zzz = new Person('勒布朗',20)