JavaScript面向对象的支持(下)
2010-09-14 13:37:33 来源:WEB开发网变量的局部、全局特性与OOP的封装性中的"私有(private)"、"公开(public)"具有类同性.因此绝大多数资料总是以下面的方式来说明JavaScript的面向对象系统中的"封装权限级别"问题:
// JavaScript中OOP封装性
function MyObject() {
// 1. 私有成员和方法
var private_prop = 0;
var private_method_1 = function() {
// ...
return 1
}
function private_method_2() {
// ...
return 1
}
// 2. 特权方法
this.privileged_method = function () {
private_prop++;
return private_prop + private_method_1() + private_method_2();
}
// 3. 公开成员和方法
this.public_prop_1 = '';
this.public_method_1 = function () {
// ...
}
}
// 4. 公开成员和方法(2)
MyObject.prototype.public_prop_1 = '';
MyObject.prototype.public_method_1 = function () {
// ...
}
var obj1 = new MyObject();
var obj2 = new MyObject();
document.writeln(obj1.privileged_method(), '<br>');
document.writeln(obj2.privileged_method());
在这里,"私有(private)"表明只有在(构造)函数内部可访问,而"特权(privileged)"是特指一种存取"私有域"的"公开(public)"方法."公开(public)"表明在(构造)函数外可以调用和存取.
Tags:JavaScript 面向 对象
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接