學習物件導向的借書小例子,理解實體類和物件導向思想。
代碼
function BookData(BId, BName, BHasOut, BPrice) { ///實體物件
this.Id = BId;
this.Name = BName;
this.HasOut = BHasOut;
this.Price = BPrice;
};
Libary = [
[1,"C#程式設計",1,100],[2,"C標準庫",1,200],[3,"網路編程",1,200]
];
Libary.FindBookById = function(id) {
for (var i = 0; i < this.length; i++) {
if (Libary[i][0] == id) {
if (Libary[i][2] == 0) {
alert("雖然有這本書,但已經被借走.");
return;
}
Libary[i][2] = 0;
alert("借書成功");
return new BookData(Libary[i][0], Libary[i][1], Libary[i][2], Libary[i][3]);
}
}
return "NotFind";
};
function Book(Id) {
this.Data = Libary.FindBookById(Id);
if (this.Data === "NotFind") {
alert("未找到圖書");
}
};
Book.prototype.Return = function() {
for (var i = 0; i < Libary.length; i++) {
if (Libary[i][0] == this.Data.Id) {
Libary[i][2] = 1;
}
}
this.Data = undefined;
};
Book.prototype.PayBook = function() {
for (var i = 0; i < Libary.length; i++) {
if (Libary[i][0] == this.Data.Id) {
alert(Libary[i][3]);
}
}
};
Book.prototype.ReBorrow = function() {
//繼續借
};
測試代碼:
代碼
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<script src="JScript.js" type="text/javascript"></script>
<script>
var b = new Book(2);
b.Return();
var bb = new Book(2);
</script>
</body>
</html>