服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java面向对象之成员隐藏与属性封装操作示例

Java面向对象之成员隐藏与属性封装操作示例

2021-05-09 14:33grey_csdn Java教程

这篇文章主要介绍了Java面向对象之成员隐藏与属性封装操作,结合实例形式分析了Java面向对象程序设计中成员的隐藏及属性封装相关实现与使用操作技巧,需要的朋友可以参考下

本文实例讲述了java面向对象之成员隐藏与属性封装操作。分享给大家供大家参考,具体如下:

关于这个功能的优点我现在体会还不深,只是从书本中找到了面向对象编程的一个原则——尽量让数据私有。如果需要对数据的信息进行修改或者获取,不会直接修改成员信息,而是通过方法的调用来实现。

写如下代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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程序设计有所帮助。

原文链接:https://blog.csdn.net/grey_csdn/article/details/64617889

延伸 · 阅读

精彩推荐