zoukankan      html  css  js  c++  java
  • js继承

    /**
     * js里面不能//来注释
     *1、定义父函数和内部函数,传入json,遍历json的值并赋给内部函数原型,传出内部函数
     *2、定义子函数,指定父类函数的实现
     *3、调用子函数的方法
     */
    function Fu(jsonObj){
    	function F(){
    		
    	}
    	for(var name in jsonObj){
    		F.prototype[name]=jsonObj[name];
    	}
    	return F;
    }
    var Zi = Fu({
    	getId:function(){
    	alert("12");
    	},
    	getName:function(){
    	alert("李项京");
    	}
    });
    
    var z = new Zi();
    z.getName();
    z.getId();
    

    /**
     * 当该函数中有一个参数的情况下创建类
     * 当该函数中有两个参数的情况下,第一个参数是基类,第二个参数就是在基类的基础上添加的内容
     */
    function Fu(obj,jsonObj){
    	function F(){
    		
    	}  //为什么要有构造函数呢?而且构造函数名称还不能与函数名称相同
    	if(typeof obj=="object"){//JSON是object,zi/fu是函数
    		for(var name in obj){
    			F.prototype[name]=obj[name];
    		}
    	}else{
    		F.prototype=obj.prototype;
    		for(var name in jsonObj){
    			F.prototype[name]=jsonObj[name];
    		}
    	}
    	
    	return F;  //注意这里有个return
    }
    var Zi = Fu({  //继承
    	getId:function(){
    	alert("12");
    	},
    	getName:function(){
    	alert("sjoi");
    	}
    });
    var SupZi = Fu(Zi,{
    	getAge:function(){
    	alert("23");
    	}
    });
    var z = new Zi(); //new 一个函数对象
    var sz = new SupZi();
    z.getName();
    z.getId();
    sz.getName();
    sz.getId();
    sz.getAge();
    


  • 相关阅读:
    构建之法阅读笔记03
    构建之法阅读笔记02
    构建之法阅读笔记01
    人月神话阅读笔记03
    人月神话阅读笔记02
    人月神话阅读笔记01
    关于APP“跑跑”
    软件设计模式24
    软件构造9
    软件构造8
  • 原文地址:https://www.cnblogs.com/kuyuyingzi/p/4266235.html
Copyright © 2011-2022 走看看