您的位置:首页 > 编程语言 > Java开发

Java学习——面向对象之封装

2017-11-30 23:26 239 查看

前言

前面我给小伙伴们分享了面向对象的基础,这里给大家分享的是面向对象的核心思想之一——封装。

什么是封装

封装又叫隐藏实现。就是隐藏属性,方法和方法实现细节的过程称为封装。它指的是将对象的状态信息隐藏在对象内容,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。

隐藏属性

将所有的属性私有化,如果需要访问要通过get和set访问器。

隐藏方法

只通过对外接口,具体实现方法隐藏。

封装的实现

在程序设计中,封装往往通过访问控制来实现。通过public将信息暴露,privateprotected将信息隐藏,来实现封装。



private:访问控制权限,如果类里的一个成员(包括属性和方法)使用private访问权限控制符来修饰,则这个成员只能在类的内部被访问。很显然,这个访问用来修饰属性更合适,使用它来修饰属性就可以把属性隐藏在类的内部。

default:访问控制权限,如果这个类的一个成员(包括属性和方法)或者一个顶级类不使用任何访问修饰符修饰,我们就称它是默认访问控制,default访问控制的成员或者顶级类可以被相同包下其他类访问。

protected:访问控制权限(子类访问权限),如果一个成员(包括属性和方法)使用protected访问控制符修饰,那么这个成员既可以被同包中其他类访问,也可以被不同包中的子类访问。通常是希望其子类来重写这个方法。

public:访问控制权限(公共访问权限),这是一个宽松的访问控制级别,如果一个成员(包括属性和方法)或者一个顶级的类使用了pubic修饰,这个成员或顶级类就可以被所有类访问,不管访问类和被访问类是否处于同一个包中,是否有父子继承关系。

Get和Set方法

为了数据的安全性,我们会经常会给我们的私有化变量去建立get和set方法去访问,并在中间进行一些保护设置。

封装的好处

封装使得对代码的修改更加安全和容易。将代码分成多个相对独立的单元。

封装是整个软件开发复杂度降低。

封装还避免了命名冲突的问题。

好的封装体现在那些方面

隐藏类的实现细节

让使用者只能通过先预定的方法来访问数据,从而可以在该方法加入控制逻辑,限制能动性属性的不合理访问。

可进行数据检查,从而有利于保证对象信息的完整性。

便于修改,提高代码的可维护性。

总结

关于面向对象——封装,我就总结这么多。它是Java面向对象的核心思想之一,在我们使用Java为底层开发语言的时候,我们会封装一些通用的类的。下一篇为大家分享的是面向对象——继承。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: