当前位置: 首页 > news >正文

长沙商城网站建设长沙企业网站建设报价

长沙商城网站建设,长沙企业网站建设报价,南京软件外包公司排名,黑群晖做网站封装概述 为什么需要封装? 现实生活中,每一个个体与个体之间是有边界的,每一个团体与团体之间是有边界的,而同一个个体、团体内部的信息是互通的,只是对外有所隐瞒。例如:我们使用的电脑,内部…

封装概述

为什么需要封装?

  • 现实生活中,每一个个体与个体之间是有边界的,每一个团体与团体之间是有边界的,而同一个个体、团体内部的信息是互通的,只是对外有所隐瞒。例如:我们使用的电脑,内部有CPU、硬盘、键盘、鼠标等等,每一个部件通过某种连接方式一起工作,但是各个部件之间又是独立的。

面向对象编程语言是对客观世界的模拟,客观世界里每一个事物的内部信息都是隐藏在对象内部的,外界无法直接操作和修改,只能通过指定的方式进行访问和修改。封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。

随着我们系统越来越复杂,类会越来越多,那么类之间的访问边界必须把握好,面向对象的开发原则要遵循“高内聚、低耦合”,而“高内聚,低耦合”的体现之一:

  • 高内聚:类的内部数据操作细节自己完成,不允许外部干涉;

  • 低耦合:仅对外暴露少量的方法用于使用

隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。通俗的讲,把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装性的设计思想。

如何实现封装呢?

通俗的讲,封装就是把该隐藏的隐藏起来,该暴露的暴露出来。那么暴露的程度如何控制呢?就是依赖访问控制修饰符,也称为权限修饰符来控制。访问控制修饰符来控制相应的可见边界,边界有如下:

  • 子类
  • 模块:Java9之后引入

在Java中 权限修饰符 如下所示:

外部类,我们只能使用public和缺省来修饰

成员变量、成员方法、构造器、成员内部类,我们可以使用任意的其中一种修饰符

注意事项:

protected修饰非静态成员,跨包时,只能在子类的非静态成员中访问,在静态成员中无论是否创建对象都不能访问。

成员变量(属性)封装

好处:

  • 隐藏类的实现细节
  • 让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里面加入控制逻辑,限制对成员变量的不合理访问。还可以进行数据检查,从而有利于保证对象信息的完整性。
  • 便于修改,提高代码的可维护性。主要说的是隐藏的部分,在内部修改了,如果其对外可以的访问方式不变的话,外部根本感觉不到它的修改。例如:Java8->Java9,String从char[]转为byte[]内部实现,而对外的方法不变,我们使用者根本感觉不到它内部的修改。

成员变量也称为属性(property),我们对成员变量的封装也称之为对属性的封装。具体步骤如下:

1:使用 private 修饰成员变量,格式如下:

代码示例


public class Student {//使用 private 修饰成员变量private String name;
}

 2:提供 getXxx方法 / setXxx 方法,可以访问成员变量代码如下:

public class Student {//使用 private 修饰成员变量private String name;//获取成员变量值的getXxx方法public String getName() {return name;}//设置成员变量值的setXxx方法public void setName(String name) {this.name = name;}}

我们观察上面的代码发现,this出现在其中,但它到底是什么意思了?this代码当前对象,哪个对象调用这个方法,this就代表哪个对象,在这里它主要用来区分同名的成员变量和局部变量。

测试代码

public class Test {public static void main(String[] args) {Student student = new Student();//设置属性的值student.setName("张三");//获取属性的值System.out.println("名字是: " + student.getName());}
}

如何解决局部变量与成员变量同名问题

  • 当局部变量与类变量(静态成员变量)同名时,在类变量前面加“类名.";
  • 当局部变量与实例变量(非静态成员变量)同名时,在实例变量前面加“this.”

当然this还有其他的作用,这个我们以后在说..

总结

把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装性的设计思想。封装的思想体现在Java的各个方面,例如:

  • 属性私有化是对属性的封装
  • 方法是对独立功能的封装
  • 包是对类的封装
  • ....

我们可以实际需要来使用Java中的封装性

http://www.yidumall.com/news/88915.html

相关文章:

  • 做韩服的视频网站广告关键词查询
  • 民治营销型网站设计哪家好世界杯球队最新排名
  • 石家庄互联网公司排行榜seo点击
  • 珠海建设网站的公司数据交换平台
  • 有没有做外贸的网站啊各大网站推广平台
  • 常熟网站广告推广投放平台
  • 杭州营销网站制作经典营销案例
  • 丹徒网站建设策划谷歌搜索引擎营销
  • 杭州互联网网站公司2022年最火的新闻摘抄
  • 河北seo人员seo推广软件费用
  • 微信公众号微网站怎么建设软件开发一般需要多少钱
  • 可以做头像的网站网站排名推广工具
  • 有什么好的做家常菜的网站网站系统开发
  • 网站怎么做别名百度搜索关键词
  • 山东网站建设维护广东知名seo推广多少钱
  • 福州小程序开发外包西安seo外包优化
  • 做网站西安磁力狗bt
  • 昆明网站建设创意淘宝搜索关键词查询工具
  • 黄冈做网站公司南昌seo网站推广
  • 比较好的做网站百度商业平台官网
  • 十堰网站优化河南百度推广电话
  • 什么网站有设计视频国际机票搜索量大涨
  • 天津做网站的大公司百度关键词竞价价格
  • 网站续费收多少合适营销型网站建设要点
  • 创业项目大全青岛seo排名公司
  • 做网站协议怎么签站长
  • 北京做百度网站建设seo黑帽培训骗局
  • 制作书签的感受心得企业网站推广优化
  • 找做网站技术人员搜索引擎的工作原理有哪些
  • 英国政府网站建设现状网络推广公司