您的位置:首页 > Web前端 > JavaScript

js面向对象编程,一个具有各种方法,字段 完整的类

2014-04-02 09:28 609 查看
var Book = (function() {

// 私有静态成员变量
var numOfBooks = 0;

// 私有静态成员方法
function checkIsbn(isbn) {
...
}

// Return the constructor.
return function(newIsbn, newTitle, newAuthor) { // implements Publication

// 私有成员变量
var isbn, title, author;

// 特权方法
this.getIsbn = function() {
return isbn;
};
this.setIsbn = function(newIsbn) {
if(!checkIsbn(newIsbn)) throw new Error('Book: Invalid ISBN.');
isbn = newIsbn;
};

this.getTitle = function() {
return title;
};
this.setTitle = function(newTitle) {
title = newTitle || 'No title specified';
};

this.getAuthor = function() {
return author;
};
this.setAuthor = function(newAuthor) {
author = newAuthor || 'No author specified';
};

// Constructor code.
numOfBooks++; // Keep track of how many Books have been instantiated
// with the private static attribute.
if(numOfBooks > 50) throw new Error('Book: Only 50 instances of Book can be '
+ 'created.');

this.setIsbn(newIsbn);
this.setTitle(newTitle);
this.setAuthor(newAuthor);
}
})();

// 共有静态方法
Book.convertToTitleCase = function(inputString) {
...
};

// 共有方法
Book.prototype = {
display: function() {
...
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐