zoukankan      html  css  js  c++  java
  • es6-13 类与对象

    基本语法

    {
        // 基本定义和生成实例
        class Parent {
            // 定义构造函数
            constructor (name = 'LiMing') {
                this.name = name
            }
        }
    
        // 生成实例
        let parent = new Parent('Helzeo')
        console.log(parent) // {name: "Helzeo"}
    }

    类的继承

    {
        // 基本定义和生成实例
        class Parent {
            // 定义构造函数
            constructor (name = 'LiMing') {
                this.name = name
            }
        }
    
        // 生成实例
        let parent = new Parent('Helzeo')
        console.log(parent) // {name: "Helzeo"}
    
        // 类的继承
        class Child extends Parent {
            constructor (name = 'child name') {
                super(name) // 子类覆盖父类 super 必须要放在第一行
                // 子类定义自身属性和方法一定要在 super 之后
                this.type = 'child'
            }
        }
        let child = new Child('chile param')
        console.log(child)
    }

    getter 和 setter

    {
        // getter 和 setter
        class Parent {
            // 定义构造函数
            constructor (name = 'LiMing') {
                this.name = name
            }
    
            get longName() { // 注意这里是属性, 不是方法
                return this.name + 'Lee'
            }
    
            set longName(value) { // 注意这里是属性, 不是方法
                this.name = value
            }
        }
    
        let parent = new Parent()
        console.log('getter', parent.longName) // LiMingLee
        parent.longName = 'Helzeo'
        console.log('setter', parent.longName) // HelzeoLee
    }

    静态方法 static

    {
        // 静态方法 关键字 static
        class Parent {
            // 定义构造函数
            constructor (name = 'LiMing') {
                this.name = name
            }
    
            // 静态方法, 通过类来调用, 而不是实例来调用
            static tell() {
                console.log('tell')
            }
        }
        Parent.tell()
    }

    静态属性

    {
        // 静态方法 关键字 static
        class Parent {
            // 定义构造函数
            constructor (name = 'LiMing') {
                this.name = name
            }
        }
        // 定义静态属性没有关键字, 直接在类上赋值即可
         Parent.type = 'test'
         console.log('静态属性', Parent.type)
    }
  • 相关阅读:
    Qt学习之路: 国际化(上)
    【Qt】测测你对Qt的了解–Qt工具知多少
    Scade 学习
    SCADESuite嵌入式软件基于模型的开发
    NeHe OpenGL教程 第四十四课:3D光晕
    NeHe OpenGL教程 第四十三课:FreeType库
    NeHe OpenGL教程 第四十二课:多重视口
    NeHe OpenGL教程 第四十一课:体积雾气
    NeHe OpenGL教程 第四十课:绳子的模拟
    78.员工个人信息保镖页面 Extjs 页面
  • 原文地址:https://www.cnblogs.com/helzeo/p/11822776.html
Copyright © 2011-2022 走看看