ES6 - 类

作者: Hyso | 来源:发表于2019-04-12 16:15 被阅读0次

类的基本使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script type="text/javascript">
        // 构造函数的方式
        function Person(name, age)
        {
            this.name = name;
            this.age  = age;
        }

        var person = new Person('Peter', 30);
        console.log(person);

        // 类的方式
        class Student
        {
            // 构造方法
            constructor(name, age)
            {
                this.name = name;
                this.age  = age;
            }
        }

        var student = new Student('Tom', 18);
        console.log(student);
    </script>
</body>
</html>

类中的方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script type="text/javascript">
        // 构造函数的方式
        function Person(name, age)
        {
            this.name = name;
            this.age  = age;
        }

        Person.prototype.say = function() {
            console.log(`I am ${this.name}, I am ${this.age}`);
        }

        var person = new Person('Peter', 30);
        person.say();

        // class 形式
        class Student
        {
            // 构造方法
            constructor(name, age)
            {
                this.name = name;
                this.age  = age;
            }
            say() {
                console.log(`I am ${this.name}, I am ${this.age}`);
            }
        }

        var student = new Student('Tom', 18);
        student.say();
    </script>
</body>
</html>

类的静态方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script type="text/javascript">
        class Student
        {
            // 构造方法
            constructor(name, age)
            {
                this.name = name;
                this.age  = age;
            }
            static say() {
                console.log('Hellow');
            }
        }

        // 只能通过类本身访问
        Student.say();
    </script>
</body>
</html>

类的继承

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script type="text/javascript">
        class Person
        {
            // 构造方法
            constructor(name, age)
            {
                this.name = name;
                this.age  = age;
            }
            say() {
                console.log(`I am ${this.name}, I am ${this.age}`);
            }
        }

        class Student extends Person
        {

        }

        class Teacher extends Person
        {
            // 构造方法
            constructor(name, age, gender)
            {
                // 必须调用父类构造方法,否则会报错
                super(name, age);

                this.gender = gender;
            }
            // 重写父类 Person 的 say 方法
            say() {
                console.log(`I am ${this.name}, I am ${this.age}, I am a teacher`);
            }
        }

        var student = new Student('Tom', 18);
        student.say();

        var teacher = new Teacher('Peter', 30, '男');
        teacher.say();
    </script>
</body>
</html>

相关文章

网友评论

      本文标题:ES6 - 类

      本文链接:https://www.haomeiwen.com/subject/jsicwqtx.html