js原生之一个面向对象的应用

function IElectricalEquipment() {

}
        IElectricalEquipment.prototype = {
            poweron: function () {
            },
            poweroff: function () {
            }
        };

function Fan(){//电风扇

}
        Fan.prototype=new IElectricalEquipment;
        Fan.prototype.poweron=function(){
            console.log("Fan'power on")
        };
        Fan.prototype.poweroff=function(){
            console.log("Fan'power off")
        };

function Light(){//电灯

}
        Light.prototype=new IElectricalEquipment;
        Light.prototype.poweron=function(){
            console.log("Light'power on")
        };
        Light.prototype.poweroff=function(){
            console.log("Light'power off")
        };

var createSwitch=(function () {
            function Switch(){
                this.equipment=null;
            }
            Switch.prototype={
                on:function(){
                    this.equipment.poweron();
                },
                off:function(){
                    this.equipment.poweroff();
                }
            };
            return function(){
                return new Switch();
            }
        }());

var myLight=new Light();
        var myFan=new Fan();
        var FanSwitch=createSwitch();
        FanSwitch.equipment=myFan;
        FanSwitch.on();
        FanSwitch.off();

FanSwitch.equipment=myLight;
        FanSwitch.on();
        FanSwitch.off();

上一篇:SQL Server 存储过程分页


下一篇:wpf的datepicker处理