• es6之class


     class Anamal {//抽象类
          constructor(name, age) { //实例本身的属性
         
            if (new.target == Anamal) {
              throw new Error("抽象类不能直接实例化, 请用该类的子类创建对象");
            }
            this.name = name;
            this.age = age;
          }
    
          yaoren() {
            console.log("yaoren....");
          }
        }
    
        class Dog extends Anamal {
          constructor(name, age, weight) { //实例本身的属性
            super(name, age);
            this.weight = weight;
          }
          static eat = "狗粮"  //静态属性和静态方法
          static walk = function () {
            console.log("我会跑");
          };
          print() { //prototype上的属性
            console.log(`[name:${this.name};age:${this.age}]`);
          }
          color = "black"; //实例本身不需要传参的属性
          set age(age) {  //setter/getter方法, 实例.age时候该方法会自动找到该函数 该函数会额外创建一个_age属性, 来存该属性值. 其实我认为是一种浪费, 应该还有更好的方法才对
            if (age < 0) {
              age = 0;
            } else if (age > 100) {
              age = 100
            }
            this._age = age;
          }
          get age() {
            return this._age;
          }
        }
  • 相关阅读:
    python变量和常量
    python运算符
    python 数据类型强制转换
    Python 变量的缓存机制
    Python格式化输出
    Python 自动类型转换
    Python 六大标准基础数据类型
    Python 基础
    pyhton 初识
    计算机基础
  • 原文地址:https://www.cnblogs.com/dangdanghepingping/p/14377108.html
Copyright © 2020-2023  润新知