js面向对象程序设置——继承机制

//继承
        //1、对象冒充
        
    /*     function ClassA(sColor) {
            this.color = sColor;
            this.sayColor = function () {
                alert(this.color);
            };
        }
        
        function ClassB(sColor, sName) {
            this.newMethod = ClassA;
            this.newMethod(sColor);
            delete this.newMethod;
        
            this.name = sName;
            this.sayName = function () {
                alert(this.name);
            };
        }
        
        var objA = new ClassA("blue");
        var objB = new ClassB("red", "John");
        objA.sayColor();    //输出 "blue"
        objB.sayColor();    //输出 "red"
        objB.sayName();        //输出 "John"  */
        
        //2、call方法,A.call(B,...);A,表示父类,B,表示子类。第二个参数后表示传给父类的参数
        
        //2.1、给一个对象加方法
        
        /* function sss(aa){
            alert(aa);
        }
        
        var obj=new Object();
        obj.obj111="23545";
        sss.call(obj,"yellow");
         */
        
         //2.2、对象继承对象
         /* function ClassA(sColor) {
            this.color = sColor;
            this.sayColor = function () {
                alert(this.color);
            };
        }
        
        function ClassB(sColor, sName) {
            ClassA.call(this, sColor);
            this.name = sName;
            this.sayName = function () {
                alert(this.name);
            };
        }
        
        var clsB=new ClassB("blue","adfadf");
        clsB.sayColor(); */
        
        //3、apply方法,A.apply(B,...);A,表示父类,B,表示子类。第二个参数后表示传给父类的参数,
        //参数为array类型
        
        //3.1、对象添加方法
        /* function aaa(aaa){
            alert("aaaa"+aaa);
        }
        
        var obj=new Object();
        obj.name="2343";
        
        aaa.apply(obj,new Array("---bbb")); */
        
        //3.2、对象继承对象
        /* function ClassA(name){
            this.name=name;
            this.showName=function(){
                alert(this.name);
            };
        }
        
        function ClassB(name){
            this.nameb=name;
            this.aaa=ClassA;
            this.aaa.apply(this,new Array(this.nameb));
            
            this.showName1=function(){
                alert(this.nameb+"...bbbbb");
            };
        }
        
        var bbb=new ClassB("ccc");
        bbb.showName();
        bbb.showName1(); */

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。