时间:2021-05-20
本文实例讲述了Java面向对象之成员隐藏与属性封装操作。分享给大家供大家参考,具体如下:
关于这个功能的优点我现在体会还不深,只是从书本中找到了面向对象编程的一个原则——尽量让数据私有。如果需要对数据的信息进行修改或者获取,不会直接修改成员信息,而是通过方法的调用来实现。
写如下代码:
packagefengzhuang;class HuaShanPai{ private String zhangmen; private int dizishu; private String gongfu; public String getZhangmen() { return zhangmen; } public void setZhangmen(String zhangmen) { this.zhangmen = zhangmen; } public int getDizishu() { return dizishu; } public void setDizishu(int dizishu) { this.dizishu = dizishu; } public String getGongfu() { return gongfu; } public void setGongfu(String gongfu) { this.gongfu = gongfu; }}public class FengZhuang { public static void main(String[] args) { // TODO Auto-generated method stub HuaShanPai huashandizi = new HuaShanPai(); huashandizi.setDizishu(123); huashandizi.setGongfu("紫霞神功"); huashandizi.setZhangmen("岳不群"); System.out.println("华山派弟子人数: " + huashandizi.getDizishu()); System.out.println("华山派功夫: " + huashandizi.getGongfu()); System.out.println("华山派掌门: " + huashandizi.getZhangmen()); }}运行结果:
华山派弟子人数: 123
华山派功夫: 紫霞神功
华山派掌门: 岳不群
首先,关于如上代码值得一说的是方法的实现。其实,在eclipse中,实现get以及set的功能是集成了一个自动生成功能的。而代码中相应方法的实现使用的全都是这个功能。具体的功能再source的菜单栏中,选择生成getter以及setter选项即可弹出一个对话框。在对话框中勾选自己需要处理的属性即可。
通过main方法中的代码可以看出,通过set函数实现了对私有属性的修改,同样,通过get函数实现了对修改后的属性的获取。当然,关于属性的获取应该是什么时候都是可以的。
目前,暂时还不是很清楚这种功能在软件构件上有什么优点或者优势。如果有优势的话,其实在C语言中也可以仿出一些类似的功能,这种技术倒是可以变相拓展使用到现在工作的软件构建中去。
至于把数据私有化,代码中使用了private关键字对属性定义进行了修饰。这样,直接通过一个对象的属性访问时无法对属性进行获取或者修改的。通过这种方式,对象所拥有的数据表现为一种私有状态。
更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
上几节讲了JavaScript面向对象之命名空间、javascript面向对象的JavaScript类与JavaScript面向对象的之私有成员和公开成员,大家
面向对象1.类:众多对象抽象出来的2.对象:类实例化出来的3.类的定义关键字class4.类里面包含成员变量成员属性成员方法5.面向对象三大特性(1)封装目的:
本文实例讲述了Python面向对象之继承原理与用法。分享给大家供大家参考,具体如下:目标单继承多继承面向对象三大特性封装根据职责将属性和方法封装到一个抽象的类中
本文实例讲述了Java面向对象程序设计:类的定义,静态变量,成员变量,构造函数,封装与私有,this概念与用法。分享给大家供大家参考,具体如下:本文内容:什么是
本文实例讲述了Python面向对象之静态属性、类方法与静态方法。分享给大家供大家参考,具体如下:1.静态属性:在函数前加@property,将函数逻辑”封装“成