随机代码

1// 利用闭包实现
2var Book = (function() {
3	// 静态私有变量
4	var bookNum = 0;
5	// 静态私有方法
6	function checkBook(name) {}
7	
8	// 创建类
9	function _book(newId, newName, newPrice) {
10		// 私有变量
11		var name, price;
12		// 私有方法
13		function checkID(id) {};
14		
15		// 特权方法
16		this.getName = function() {};
17		this.getPrice = function() {};
18		this.setName = function() {};
19		this.setPrice = function() {};
20
21		// 公有属性
22		this.id = newId;
23		// 公有方法
24		this.copy = function() {};
25		
26		bookNum++;
27		if (bookNum > 100) throw new Error('我们仅出版 100 本书');
28		
29		// 构造器
30		this.setName(name);
31		this.setPrice(price);
32
33	}
34
35	// 构造原型
36	_book.prototype = {
37		// 静态公有属性
38		isJSBook: false,
39		// 静态公有方法
40		display: function() {}
41	};
42
43	// 返回类
44	return _book;
45})();
参考地址:javascript设计模式-面向对象编程(封装、继承、多态)

代码交流 2021