Java的成员隐藏与属性封装
来源:互联网 发布:手机上有数控编程软件 编辑:程序博客网 时间:2024/05/16 10:32
关于这个功能的优点我现在体会还不深,只是从书本中找到了面向对象编程的一个原则——尽量让数据私有。如果需要对数据的信息进行修改或者获取,不会直接修改成员信息,而是通过方法的调用来实现。
写如下代码:
packagefengzhuang;
class HuaShanPai
{
private Stringzhangmen;
private int dizishu;
private Stringgongfu;
public String getZhangmen() {
returnzhangmen;
}
public void setZhangmen(String zhangmen) {
this.zhangmen =zhangmen;
}
public int getDizishu() {
returndizishu;
}
public void setDizishu(intdizishu) {
this.dizishu =dizishu;
}
public String getGongfu() {
returngongfu;
}
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());
}
}
首先,关于如上代码值得一说的是方法的实现。其实,在eclipse中,实现get以及set的功能是集成了一个自动生成功能的。而代码中相应方法的实现使用的全都是这个功能。具体的功能再source的菜单栏中,选择生成getter以及setter选项即可弹出一个对话框。在对话框中勾选自己需要处理的属性即可。
通过main方法中的代码可以看出,通过set函数实现了对私有属性的修改,同样,通过get函数实现了对修改后的属性的获取。当然,关于属性的获取应该是什么时候都是可以的。
目前,暂时还不是很清楚这种功能在软件构件上有什么优点或者优势。如果有优势的话,其实在C语言中也可以仿出一些类似的功能,这种技术倒是可以变相拓展使用到现在工作的软件构建中去。
至于把数据私有化,代码中使用了private关键字对属性定义进行了修饰。这样,直接通过一个对象的属性访问时无法对属性进行获取或者修改的。通过这种方式,对象所拥有的数据表现为一种私有状态。
- Java的成员隐藏与属性封装
- Java 的封装与隐藏
- 透析Java本质-方法与成员变量的隐藏
- Java基础-类的封装,成员变量的访问及隐藏
- 封装与信息的隐藏
- 40 java 成员变量和局部变量 隐藏和封装
- 类成员属性封装
- Java类成员(成员变量和方法)的覆盖与隐藏归纳
- Java复习——属性的封装与构造方法
- 成员函数的重载、覆盖与隐藏
- 成员函数的重载、覆盖与隐藏
- 成员函数的重载、覆盖与隐藏
- 成员函数的重载、覆盖与隐藏
- 成员函数的重载、覆盖与隐藏
- 成员函数的重载、覆盖与隐藏
- 成员函数的重载、覆盖与隐藏
- 成员函数的重载、覆盖与隐藏
- 成员函数的重载、覆盖与隐藏
- 万里长征第一步
- [LCT || splay维护括号序列] BZOJ 4573 [Zjoi2016]大森林
- 1-11
- JedisSentinelPool配置说明
- Android 官方 Training 文档学习总结
- Java的成员隐藏与属性封装
- Codeforces #297 (Div. 2) C. Ilya and Sticks(贪心
- Java网络爬虫(一)--HttpClient的使用
- POJ 2739 Sum of Consecutive Prime Numbers(尺取)
- AsyncTask源码分析
- C++基础知识整理(面试热点)
- 服务器客户端单点登录,单点注销详解
- [字符串匹配算法] Rolling Hash ADT and Karp-Rabin Algorithm
- Unity3D学习笔记(四)牧师和魔鬼游戏改进