资讯专栏INFORMATION COLUMN

es6的classes

NickZhou / 2519人阅读

摘要:的构造方法我会跑宋泽打印宋泽。我会跑去读书宋泽大胖获取加赋值。和的方法名相同,而且可以同名方法重载方法覆盖我会跑宋泽我一直在跑老师男我会跑我一直在跑注释虽然子类继承了父类的方法,但是子类会把父类的方法给覆盖掉,这个就是方法覆盖。

es6的classes

构造方法:

class Student{
    constructor (name,age){
        this.name=name;
        this.age=age;
    }
    run(){
        console.log("我会跑");
    }
}
    let xs = new Student("宋泽",25);
    console.log(xs);//打印:Student {name: "宋泽", age: 25}。
    //constructor:实例化那些默认属性。

继承:

class Teacher extends Student{
    constructor (name,age,sex){
        super(name,age);
        this.sex=sex;
    }
    eat(){
        console.log(this.name+"is eating")
    }
}
    var ls = new Teacher("老师","30","男");
    console.log(ls);//打印:Teacher {name: "老师", age: "30", sex: "男"}。
    ls.eat();//打印:老师is eating。
    //extends:继承。
    //super:继承属性方法。
    注释:在构造方法里的super是指反类的构造方法。

get,set,static:

class Student{
    constructor (name,age){
        this.name=name;
        this.age=age;
    }
    run(){
        console.log("我会跑");
    }
    get xm(){
        return this.name+"123";
    }
    set xm(value){
        this.name=value;
    }
    static shangxue (){
        console.log("去读书");
    }
}
    let xs = new Student("宋泽",25);
    console.log(xs.xm);
    xs.xm="大胖";
    console.log(xs.xm);
    Student.shangxue();
    //get:获取加赋值。
    //set:设置。
    //static:静态方法|类方法。
    //set和get的方法名相同,而且可以同名

方法重载|方法覆盖:

class Student{
    constructor (name,age){
        this.name=name;
        this.age=age;
    }
    run(){
        console.log("我会跑");
    }
}
    let xs = new Student("宋泽",25);
            
    class Teacher extends Student{
        constructor (name,age,sex){
            super(name,age);
            this.sex=sex;
        }
        eat(){
            console.log(this.name+"is eating")
        }
        run(){
            super.run();
            console.log("我一直在跑");
        }
    }
    var ls = new Teacher("老师","30","男");
    ls.run();//我会跑 我一直在跑;
    注释:虽然子类继承了父类的run方法,但是子类会把父类的方法给覆盖掉,这个就是方法覆盖。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/84069.html

相关文章

  • 为什么都说js 里面任何对象最终都继承了Object对象

    摘要:今天闲来无事,看见几行小字。又说所有对象,继承终是。强行押韵一波这首诗的意思就是说的我今天没有什么事情,然后无意中又在网上看到了任何对象都是从对象继承而来的这句话。一时兴起,便去验证这句话。 今天闲来无事,看见几行小字。又说所有对象,继承终是Obj。—— 强行押韵一波 这首诗的意思就是说的我今天没有什么事情,然后无意中又在网上看到了任何对象都是从Object对象继承而来的这句话。一时兴...

    Gemini 评论0 收藏0
  • React Native填坑之旅--class(番外篇)

    摘要:构造函数定义侦探类作为例子。里的既是类的定义,也是构造函数。在构造函数中定义的实例方法和属性在每一个实例中都会保留一份,而在原型中定义的实例方法和属性是全部实例只有一份。 无论React还是RN都已经迈入了ES6的时代,甚至凭借Babel的支持都进入了ES7。ES6内容很多,本文主要讲解类相关的内容。 构造函数 定义侦探类作为例子。 ES5的类是如何定义的。 function ES5D...

    TwIStOy 评论0 收藏0
  • ES6 系列之 Babel 是如何编译 Class (上)

    摘要:前言在了解是如何编译前,我们先看看的和的构造函数是如何对应的。这是它跟普通构造函数的一个主要区别,后者不用也可以执行。该函数的作用就是将函数数组中的方法添加到构造函数或者构造函数的原型中,最后返回这个构造函数。 前言 在了解 Babel 是如何编译 class 前,我们先看看 ES6 的 class 和 ES5 的构造函数是如何对应的。毕竟,ES6 的 class 可以看作一个语法糖,...

    shadajin 评论0 收藏0
  • ES6+ class中代码真正样子

    摘要:一用定义一个空类在中在中结论这个结果很清晰,原来中的类在中也是定义一个构造函数,然后返回出来。 这篇文章用代码对比的方式解释ES6中的类如果用我们熟悉的ES5来看是什么样的。 一、用class定义一个空类在ES6中: class Person { } 在ES5中: var Person = (function () { function Person() { } ...

    PascalXie 评论0 收藏0
  • ES6深入浅出 Classes

    摘要:一步,一步前進一步深入浅出之。是构造函数,可在里面初始化我们想初始化的东西。类静态方法大多数情况下,类是有静态方法的。中添加类方法十分容易类方法和静态方法是同一个东西在的语法中,我们可以使用关键字修饰方法,进而得到静态方法。 一步,一步前進の一步 ES6深入浅出之Classes。翻译的同时乱加个人见解,强烈推荐阅读原作者的文章,言简意赅。es6-classes-in-depth 类语...

    array_huang 评论0 收藏0
  • ES6学习总结(三)

    摘要:不同于其他面向对象语言,以前的中中没有类的概念,主要是通过原型的方式来实现继承,中引入了原型链,并且将原型链用来实现继承,其核心是利用原型使得一个对象继承另一个对象的方法和属性,中原型继承的关键是将一个实例的原型对象指向另一个实例,因此前一 不同于其他面向对象语言,ES6以前的JavaScript中中没有class类的概念,主要是通过原型的方式来实现继承,JavaScript中引入了原...

    baoxl 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<