Java面向对象(OOP)--面向对象三大特性之一: 封装(封装的步骤作用和意义方法重载)

Posted Z && Y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面向对象(OOP)--面向对象三大特性之一: 封装(封装的步骤作用和意义方法重载)相关的知识,希望对你有一定的参考价值。

1. 封装


我要看电视,只需要按一下开关和换台就可以了。有必要了解电视机内部的结构吗?有必要碰碰显像管吗?

制造厂家为了方便我们使用电视,把复杂的内部细节全部封装起来,只给我们暴露简单的接口,比如:电源开关。需要让用户知道的暴露出来,不需要让用户了解的全部隐藏起来。这就是封装。

白话:该露的露,该藏的藏

专业:我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。


封装(数据的隐藏)

  • 在定义一个对象的特性的时候,有必要决定这些特性的可见性,即哪些特性对外部是可见的,哪些特性用于表示内部状态。
  • 通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。

1.1 封装的步骤

  1. 使用private 修饰需要封装的成员变量。
  2. 提供一个公开的方法设置或者访问私有的属性(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. 提高程序的安全性,保护数据。
  2. 隐藏代码的实现细节
  3. 统一用户的调用接口
  4. 提高系统的可维护性
  5. 便于调用者调用。
  6. 良好的封装,便于修改内部代码,提高可维护性。
  7. 良好的封装,可进行数据完整性检测,保证数据的有效性。

1.3 方法重载

类中有多个方法,有着相同的方法名,但是方法的参数各不相同,这种情况被称为方法的重载。方法的重载可以提供方法调用的灵活性。

思考:HelloWorld中的System.out.println()方法,为什么可以把不同类型的参数传给这个方法?

【演示:查看println方法的重载】

方法重载必须满足以下条件

  1. 方法名必须相同
  2. 参数列表必须不同(参数的类型、个数、顺序的不同)
  3. 方法的返回值可以不同,也可以相同。

在java中,判断一个类中的俩个方法是否相同,主要参考俩个方面:方法名字和参数列表



以上是关于Java面向对象(OOP)--面向对象三大特性之一: 封装(封装的步骤作用和意义方法重载)的主要内容,如果未能解决你的问题,请参考以下文章

Java面向对象(OOP)--面向对象三大特性之一: 继承(继承Object类Super关键字方法重写)

面向对象编程基本部分——java三大特性详解

OOP的三大特性是啥

java第五章:面向对象(oop)之三大特性

java第五章:面向对象(oop)三大特性之多态

JAVA面向对象三大特性总结