资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Java面向对象之成员隐藏与属性封装的示例分析-创新互联

这篇文章将为大家详细讲解有关Java面向对象之成员隐藏与属性封装的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联建站专业为企业提供诸暨网站建设、诸暨做网站、诸暨网站设计、诸暨网站制作等企业网站建设、网页设计与制作、诸暨企业网站模板建站服务,10多年诸暨做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

具体如下:

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

写如下代码:

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面向对象之成员隐藏与属性封装的示例分析-创新互联
浏览地址:http://cdkjz.cn/article/deosss.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220