Java面向对象(OOP)--面向对象三大特性之一: 封装(封装的步骤作用和意义方法重载)
Posted Z && Y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面向对象(OOP)--面向对象三大特性之一: 封装(封装的步骤作用和意义方法重载)相关的知识,希望对你有一定的参考价值。
1. 封装
我要看电视,只需要按一下开关和换台就可以了。有必要了解电视机内部的结构吗?有必要碰碰显像管吗?
制造厂家为了方便我们使用电视,把复杂的内部细节全部封装起来,只给我们暴露简单的接口,比如:电源开关。需要让用户知道的暴露出来,不需要让用户了解的全部隐藏起来。这就是封装。
白话:该露的露,该藏的藏
专业:我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。
封装(数据的隐藏)
- 在定义一个对象的特性的时候,有必要决定这些特性的可见性,即哪些特性对外部是可见的,哪些特性用于表示内部状态。
- 通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。
1.1 封装的步骤
- 使用private 修饰需要封装的成员变量。
- 提供一个公开的方法设置或者访问私有的属性(get/set方法)
【演示】
class Person {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
- 在类中一般不会把数据直接暴露在外部的,而使用private(私有)关键字把数据隐藏起来
- 如果在类的外部需要访问这些私有属性,那么可以在类中提供对于的get和set方法,以便让用户在类的外部可以间接的访问到私有属性
1.2 作用和意义
- 提高程序的安全性,保护数据。
- 隐藏代码的实现细节
- 统一用户的调用接口
- 提高系统的可维护性
- 便于调用者调用。
- 良好的封装,便于修改内部代码,提高可维护性。
- 良好的封装,可进行数据完整性检测,保证数据的有效性。
1.3 方法重载
类中有多个方法,有着相同的方法名,但是方法的参数各不相同,这种情况被称为方法的重载。方法的重载可以提供方法调用的灵活性。
思考:HelloWorld中的System.out.println()方法,为什么可以把不同类型的参数传给这个方法?
【演示:查看println方法的重载】
方法重载必须满足以下条件
- 方法名必须相同
- 参数列表必须不同(参数的类型、个数、顺序的不同)
- 方法的返回值可以不同,也可以相同。
在java中,判断一个类中的俩个方法是否相同,主要参考俩个方面:方法名字和参数列表
以上是关于Java面向对象(OOP)--面向对象三大特性之一: 封装(封装的步骤作用和意义方法重载)的主要内容,如果未能解决你的问题,请参考以下文章