Nonstick Pancake Maker

    pandora-class

    1.2.0 • Public • Published

    pandora-class


    提供简单的 OO 实现

    安装

    $ spm install pandora-class --save
    

    使用说明

    创建类

    var Class = require('pandora-class');
    var Person = Class.create({
      initialize: function (name, age) {
        this.name = name;
        this.age = age;
      }
    });
     

    对类扩展(继承)

    var Student = Person.extend({
      //initialize是内置的初始化方法,实例化时自动执行
      initialize: function (name, age, school) {
        Student.superclass.initialize.apply(this, arguments);
        //superclass是Student的父类,也就是Person,这句是调用父类的初始化方法。
        this.school = school;
      }
    });
     

    var Student = Class.create(Person, {
     initialize: function (name, age, school) {
        Student.superclass.initialize.apply(this, arguments);
        this.school = school;
      }
    });
     

    对实例扩展

    var person = new Person('xiaoming', 18);
    person.extend({
      showName: function () {
        console.log(this.name);
      }
    });
    person.showName(); //xiaoming

    混入

    var proto1 = {
        height: 175
      },
      proto2 = {
        getHeight: function() {
          return this.height;
        }
      };

    然后通过以下方式把属性或方法混入到类里。

    var Student = Person.extend({
      mixins: [proto1, proto2]
    });

    var Student = Class.create(Person,{
      mixins: [proto1, proto2]
    });

    混入后,Student就拥有height属性和getHeight()方法。

    Keywords

    Install

    npm i pandora-class

    DownloadsWeekly Downloads

    4

    Version

    1.2.0

    License

    none

    Last publish

    Collaborators

    • lynzz