zoukankan      html  css  js  c++  java
  • ES6 类

    class Task {
      constructor() {
        console.log("task instantiated!");
      }
    
      showId() {
        console.log(23);
      }
    
      static loadAll() {
        console.log("Loading all tasks..");
      }
    }
    
    console.log(typeof Task); // function
    let task = new Task(); // "task instantiated!"
    task.showId(); // 23
    Task.loadAll(); // "Loading all tasks.."
    class Animal{
                    constructor(){  //构造方法,可无
                        console.log("正在构造一只动物");
                    }
                    
                    bark(){
                        console.log("动物在叫...");
                    }
                    
                    static eat(){
                        console.log("动物在吃东西...");
                    }
                }
                
                var pig=new Animal();
                pig.bark();
                Animal.eat();

    类中的继承和超集:

    class Car {
      constructor() {
        console.log("Creating a new car");
      }
    }
    
    class Porsche extends Car {
      constructor() {
        super();
        console.log("Creating Porsche");
      }
    }
    
    let c = new Porsche();
    // Creating a new car
    // Creating Porsche

    extends 允许一个子类继承父类,需要注意的是,子类的 constructor 函数中需要执行 super() 函数。

    当然,你也可以在子类方法中调用父类的方法,如 super.parentMethodName()。

    有几点值得注意的是:

    类的声明不会提升(hoisting),如果你要使用某个 Class,那你必须在使用之前定义它,否则会抛出一个 ReferenceError 的错误
    在类中定义函数不需要使用 function 关键词

    示例:

    <script type="text/javascript">
                class Animal{
                    constructor(){  //构造方法,可无
                        console.log("正在构造一只动物");
                    }
                    
                    bark(){
                        console.log("动物在叫...");
                    }
                    
                    static eat(){
                        console.log("动物在吃东西...");
                    }
                }
                
                class Dog extends Animal{
                    constructor(){ 
                        super();   //调用父类的构造方法
                        console.log("正在构造一只狗");
                    }
                    bark(){   //重写
                        console.log("汪汪汪...");
                    }
                }
                
                var dog=new Dog();
                dog.bark();
                Dog.eat();

  • 相关阅读:
    iphone后台功能执行
    手动下载并安装iOS 4.3 Library
    iOS 开发相关信息
    我在42区有了新的主页
    了解并解决代码签名问题
    Cocoa Touch 层
    HDU 1964 Pipes(插头DP)
    ZOJ 3644 Kitty's Game (广搜,STL中的map,vector)
    POJ 3133 Manhattan Wiring(插头DP)
    HDU 3377 Plan (插头DP)
  • 原文地址:https://www.cnblogs.com/nongzihong/p/10677464.html
Copyright © 2011-2022 走看看