• JS 接口定义及实现的例子


    //定义一个函数,目的是将参数中的第二个函数所有属性放到第一个参数中,目的是将接口中所有方法放到实现类中

    Object.extend=function(destination,source){

    for(property in source){

    destination[property]=source[property];

    }

    return destination;

    }

    //定义一个抽象基类base,无构造函数

    function base(){};

    //定义一个借口base,base中有一个initialize方法,需要各个实现类来实现

    base.prototype={

    initialize:function(){

    this.oninit();//调用了一个虚方法,后面的实现函数中需要实现此方法

    }

    }

    //实现类一

    function SubClassA(){

    //构造函数

    }

    //调用绑定函数Object.extend将base的prototype中需要实现的接口放到匿名对象propInSubClassA中

    SubClassA.prototype=Object.extend({

    propInSubClassA:"propInSubClassA",

    oninit:function(){

    alert(this.propInSubClassA);

    }},base.prototype);

    function SubClassB(){

    //构造函数

    }

    SubClassB.prototype=Object.extend({

    propInSubClassB:"propInSubClassB",

    oninit:function(){

    alert(

    this.propInSubClassB);

    }},base.prototype);

    var objA=new SubClassA();

    objA.initialize();

    //输出"propInSubClassA"

    var objB=new SubClassB();

    objB.initialize();

    //输出"propInSubClassB"

  • 相关阅读:
    正则表达式---用户验证
    最短路 Dijkstra
    最短路 Dijkstra+堆优化
    LCIS(最长公共上升子序列)
    最小生成树 Kruskal
    网络流 最大流
    网络流 最小费用最大流
    树链剖分
    树状数组
    双重Hash
  • 原文地址:https://www.cnblogs.com/scote/p/4977006.html
Copyright © 2020-2023  润新知