JavaScript面向对象特性实践一
javaScript 在构造类的时候有好几种方法,每种方法特点是不一样的。
1.构造/原型法

var BankCard=function(cardId,cardPassword)...{
this.cardId=cardId; //银行卡NO
this.cardPassword=cardPassword;// 银行卡密码
this.balance=100; //银行卡余额
}
BankCard.prototype=...{
queryBalance:function()...{
return this.balance;
},
setBalance:function(value)...{
this.balance=this.balance+value;
},
setPassword:function(password)...{
this.cardPassword=password;
}
}

function invoke(fun,value)...{
fun.setBalance(value);
balance=fun.queryBalance();
alert(balance);
}
//实例化一个银行卡对象
var objBankCard=new BankCard('admin','admin');
//传递对象引用,调用对象成员方法
invoke(objBankCard,200);

//-->
2.工厂方式

function BankCard(cardId,cardPassword,balance)...{
var objBankCard=new Object();
objBankCard.cardId=cardId;
objBankCard.cardPassword=cardPassword;
objBankCard.balance=balance;
objBankCard.queryBalance=function()...{
return this.balance;
};
objBankCard.setBalance=function(value)...{
this.balance=this.balance+value;
};
objBankCard.setPassword=function(password)...{
this.cardPassword=password;
};

return objBankCard;
}
var obj=new BankCard("admin","admin",100);
alert(obj.queryBalance());3.构造函数方式

function BankCard(cardId,cardPassword,balance)...{
this.cardId=cardId;
this.cardPassword=cardPassword;
this.balance=balance;
this.queryBalance=function()...{
return this.balance;
};
this.setBalance=function(value)...{
this.balance=this.balance+value;
};
this.setPassword=function(password)...{
this.cardPassword=password;
};
}
var obj=new BankCard("admin","admin",100);
alert(obj.queryBalance());
4.原型方式
//原型方式
function BankCard()...{
}
BankCard.prototype.carId="admin";
BankCard.prototype.cardPassword="admin";
BankCard.prototype.balance=100;
BankCard.prototype.queryBalance = function()...{
return this.balance;
};

BankCard.prototype.setBalance = function(value)...{
this.balance=this.balance+value;
};
BankCard.prototype.setPassword = function(password)...{
this.cardPassword=password;
};
var obj=new BankCard();
alert(obj.queryBalance());
在日常的工作当中,推荐大家是由"构造/原型"法或"原型"法。
本文介绍JavaScript中实现面向对象编程的四种方法:构造/原型法、工厂方式、构造函数方式及原型方式,并通过创建银行卡类的例子进行说明。

被折叠的 条评论
为什么被折叠?



