java的封装剖析
来源:互联网 发布:本地连接阿里云数据库 编辑:程序博客网 时间:2024/06/03 22:48
类是构造对象的模板或蓝图。
封装的一些概念
从形式上看,封装不过是将数据和行为组合到一个包中,并对对象的使用者隐藏了数据的实现形式。
每个对象都包含实例域和方法。实例域的集合代表了一个集合的状态,通过方法来向对象发送消息,改变对象的状态。
封装的意义
实现封装的目的就是不让其他类的方法访问自己的实例域。
程序是通过类的方法进行交互。封装给了对象黑盒的特性,这是提高重用性和可靠性的关键。
降低了类之间的耦合性
一个对象无法访问其他的类的对象的数据,所以不对其他的类依赖,降低了耦合性。
方便数据域的错误检查
可以直接查找类的相应的方法,而不用排查其他的情况。
封装的注意事项:
不要编写返回引用可变对象的访问器方法
举个例子:
- 1
- 2
- 3
- 4
- 5
- 6
上面的例子破坏了封装性
- 1
- 2
- 3
出错的原因
d和day引用的是一个对象。对d改变。对象的私有实例域也会改变。
如何避免:
返回一个可变对象引用的克隆。
阅读全文
0 0
- java的封装剖析
- 【45】java的封装剖析
- 剖析prototype框架的封装机制(OO特性,组件封装)
- 剖析prototype框架的封装机制(OO特性,组件封装)
- java的RMI剖析!
- Java的封装类
- Java TCP的封装
- java的封装性
- Java UDP 的封装
- Java 的封装性
- JAVA的封装特性
- java的封装
- java的封装原理
- Java的封装性
- java的封装
- 3、Java的封装
- Java之类的封装
- Java 封装的详解
- MYSQL自带函数计算给定的两个日期的间隔天数
- 用搬瓦工服务器搭建shadowsocks
- 原生冒泡机制
- 动态规划——劲歌金曲
- POJ
- java的封装剖析
- maven
- ios修改导航栏标题字体颜色
- Hive中内部表与外部表的区别
- 错误:Could not read cache value from 'C:\Users\59308\.gradle\daemon\3.3\registry.bin'.
- 解题报告:HDU_6176 Function Counting (离散化DP+矩阵快速幂)
- C++内存动态分配(转载)
- eclipse 项目转 android studio so文件 处理
- 启动页底部三个小点