ES6中class类的创建

1.class类的创建

下面我们创建一个学生类来看一下class是怎样创建的。

class Student{
            constructor(name,age){
                this.name=name
                this.age=age
            }
            eat(){
                console.log(this.name+"正在吃")
            }
        }

利用class来创建对象很明显比之前的四种创建对象的方法更加的方便,而且更加的简洁。constructor里面放的都是属性。

extends:继承的是父类,也就是继承父类的方法和属性

注意:在对父类继承时,我们也是可以根据需求去重构父类的一些方法的。super()方法代表的是父类的构造函数

class People{
            constructor(name,age){
                this.name=name
                this.age=age
            }
            eat(){
                console.log(this.name+"正在吃")
            }
        }

        class Student extends People{
            //super()方法:父类的构造函数
            constructor(name,age,height){
                super(name,age)
                this.height=height
            }
            //子类是可以重构父类
        }
        let s1=new Student("王一",21,189)
        s1.eat()
        console.log(s1)

2.class的私有属性

class的私有属性利用闭包的方式来实现

class Student{
            constructor(iphone){
                let phone=iphone
                this.getPhone=function(){
                    return phone
                }
            }   
        }
        let s1=new Student("456")
        let s2=new Student("789")
        console.log(s1.getPhone==s2.getPhone)

3.class的静态属性

class静态属性:用过类直接使用的方法和属性,在属性或者方法前面加static,而且静态属性不是写在constructor中,是直接写在类的大括号里。调用的话直接用类名加上属性或方法。

例:统计一个类创建了多少个对象

class People{
            static size=0
            constructor(name,age){
                this.name=name
                this.age=age
                People.size++
            }
            eat(){
                console.log("正在吃")
            }
            static getsize(){
                return People.size
            }
        }
 let p1=new People("王一",21)
 let p2=new People("王一",21)
 let p3=new People("王一",21)
 let p4=new People("王一",21)
 let p5=new People("王一",21)
 console.log(People.getsize())

因为没创建一个对象我们都要调用一次constructor,所以constructor每调用一次,就让people静态属性size加1,最后就知道创建了几个对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值