javaScript 和 prototype类的创建与继承

prototype的方式:
var A= Class.create();
A.prototype = {
 fncSetFunction: function(){
 },
  //构造函数
  //initArray : 参数数组
 initialize: function(initArray) {
 },
  //登录
 fncLogon:function(){
 }
}


//继承
var B= Class.create();
Object.extend(B.prototype,A.prototype);
Object.extend(B.prototype,{
 fncSetFunction: function(){
  var list = .....;

  return list;
 },
 initialize: function(initArray) {
  try{
   alert("initialize:B");
  }catch(e){
   loc_oLog.info(e,1,"initialize");
  }
 },
 fncLogon: function(){
  try{
     alert("B");
  }catch(e){
   throw sys_clsException2(".......");
  }
 }
});


//与上面一样,和预想的一样。
var class1 = Class.create();
class1.prototype={
 initialize:function(){},
 func1:function(){
  alert(1);
 },
 func3:function(){
  alert(3);
 }
}
var c2 = Class.create();
Object.extend(c2.prototype,class1.prototype);
Object.extend(c2.prototype,{
 func1:function(){
  alert("c2 1");
 }
});

new class1().func1();//1
new class1().func3();//3
new c2().func1();//c2 1
new c2().func3();//3


var class1 = Class.create();
class1.prototype={
 initialize:function(){},
 func1:function(){
  alert(1);
 },
 func3:function(){
  alert(3);
 }
}

function class2(){

 this.func1=function(){
  alert(1);
 }
 this.func2=function(){
  alert(2);
 }
 this.func3=function(){
  funcPrivate();
 }
 function funcPrivate(){
  alert("Private");
 }
}

var c2=Object.extend(class1,{//class1.prototype,{
 func1:function(){
  alert(2);
 },
 func2:function(){
  alert(3);
 }
});

new class2().func1();//1
new class2().func2();//2
new class2().func3();//Private
new c2.func1();//2
new c2.func2();//3
new class1().func1();//1 //如果写成class1.prototype 就会是 2


如果用到了class.prototype={}就要写initialize:function(){}这个方法。
继承时如果用了prototype创建类,继承时就要用class.prototype来继承,才会实现继承。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值