zoukankan      html  css  js  c++  java
  • js面向对象

    JavaScript 语言中,生成实例对象的传统方法是通过构造函数。

        function Animal(name, age) {
            this.name = name;
            this.age = age;
    
        }
    
        Animal.prototype.showName = function () {
            console.log(this.name);
            console.log(this.age);
        }
    
        var a = new Animal('小黑', 2);
        a.showName();

    ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。

    基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。上面的代码用 ES6 的class改写,就是下面这样

    class Animal {
    
        // 构造器  当你创建实例之后 constructor()方法会立刻调用 通常这个方法初始化对象的属性
        constructor(name, age) {
            this.name = name;
            this.age = age;
        }
    
        showName() {
            console.log(this.name);
            console.log(this.age);
        }
    }
    
    var a2 = new Animal('小黑', 2);
    a2.showName();

    constructor方法是类的默认方法,通过new命令生成对象实例时,自动调用该方法。一个类必须有constructor方法,如果没有显式定义,一个空的constructor方法会被默认添加。

    class Animal {
    }
    
    // 等同于
    class Animal {
          constructor() {}
    }
  • 相关阅读:
    hdu_2224_The shortest path(dp)
    hdu_4824_Disk Schedule(dp)
    hdu_5680_zxa and set(想法题)
    hdu_5683_zxa and xor(非正解的暴力)
    hdu_1429_胜利大逃亡(续)(BFS状压)
    hdu_1254_推箱子(双BFS)
    hdu_1969_pie(二分)
    hdu_2446_Shell Pyramid(数学,二分)
    hdu_2141_Can you find it?(二分)
    5.2 nc + JMX查看分布式程序数据
  • 原文地址:https://www.cnblogs.com/huangjm263/p/9070837.html
Copyright © 2011-2022 走看看