保持对象成员私有
来源:互联网 发布:软件行业就业形势 编辑:程序博客网 时间:2024/05/20 06:10
可扩展的JavaScript对象
JavaScript面向对象的一个缺陷就是与Java和C++这样的语言不通,它们是基于类和类实例的。而JavaScript是基于原型继承的。所谓原型继承相当于基于已有对象的新实例来进行,而不是通过一个类的实例来实现。
原型扩展通过以新的属性和方法来扩展一个已有的对象来进行,而不是通过类继承来扩展。
基于原型继承的优点:不必先创建类,然后再创建应用程序,开发者可以关注与创建应用程序,然后通过操作来派生对象框架。
保持对象成员私有
问题:想要保持一个或多个对象的属性私有,而可以在对象实例之外访问。
解决方案:创建私有属性的时候,不要对成员使用this关键字
function Tune(song,artist){ var title = song; this.concat = function(){ return title + " " + artist; }}var happysong = new Tune("Putting on the Ritz","Ella Fitzgerald");console.log(happysong.title);console.log(happysong.concat());happysong.title = "testing";//覆盖私有属性console.log(happysong.title);console.log(happysong.concat());//局部变量优先级更大//输出undefined"Putting on the Ritz Ella Fitzgerald""testing""Putting on the Ritz Ella Fitzgerald"
其中的concat方法,通过this暴露给外部,这种方法称之为特权方法。
注意:只有在构建一个对象的时候,能够生产私有属性和特权方法,而公有成员随时可以添加。
阅读全文
0 0
- 保持对象成员私有
- JS对象-继承-私有成员
- 访问对象私有成员方式的比较
- 面向对象——私有成员
- 对象私有成员的使用条件
- PHP面向对象:封装--设置私有成员
- 私有成员
- 通过反射访问对象私有和保护成员
- C++对象中的私有成员变量也可以被访问
- 访问C++类对象中私有成员变量的方法
- 对象能够直接访问其私有成员变量
- C++对象中的私有成员变量可以被访问
- 关于利用sort排序对象数组私有数据成员例子
- C++私有成员变量被对象直接访问
- list对象作为类的私有成员时分配内存
- PHP面向对象:封装--私有成员的访问
- 关于类成员函数中访问同类对象的私有成员
- 关于类成员函数中访问同类对象的私有成员
- 链表、头指针、头结点
- 【jzoj5306】【NOIP2017提高A组模拟8.18】【棋盘游戏】
- hdu 6143-动态规划
- [jzoj5307]【NOIP2017提高A组模拟8.18】偷窃
- Android模块化开发
- 保持对象成员私有
- 判断网络连接
- HDU5873 Football Games
- 各种距离算法汇总
- Hdu ASCII码排序
- formData-JSon,java解析Excle,获取父类泛型,spring整合jpa实现条件分页查询
- 一个替换java字符串中${}或者{}等占位符的工具类
- at-070D
- 继承一个对象的功能