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)
    }
  • 相关阅读:
    C++ 的查漏补缺
    Model元数据解析
    Controller
    路由
    win8系统 Reflect 破解
    MVC运行原理
    源代码Log
    linq 分类
    EF 实体关系
    第二十六章 计算限制的异步操作
  • 原文地址:https://www.cnblogs.com/helzeo/p/11822776.html
Copyright © 2011-2022 走看看