Java面向对象(02)--封装

Java面向对象(02)--封装

封装简介

在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。

封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。

高内聚,低耦合:

  • 高内聚:类的内部数据操作细节自己完成,不允许外部干涉;
  • 低耦合:仅暴露少量的方法给外部使用

封装的优点

  • 良好的封装能够减少耦合。
  • 类内部的结构可以自由修改。
  • 可以对成员变量进行更精确的控制。
  • 隐藏信息,实现细节。

封装案例

  1. 修改属性的可见性来限制对属性的访问(一般限制为private),例如:

    public class Person {
        private String name;
        private int age;
    }
    

    这段代码中,将 nameage 属性设置为私有的,只能本类才能访问,其他类都访问不了,如此就对信息进行了隐藏。

  2. 对每个值属性提供对外的公共方法访问,也就是创建一对赋取值方法,用于对私有属性的访问,例如:

    public class Person{
        private String name;
        private int age;
    
        public int getAge(){
          return age;
        }
    
        public String getName(){
          return name;
        }
    
        public void setAge(int age){
          this.age = age;
        }
    
        public void setName(String name){
          this.name = name;
        }
    }
    

    采用 this 关键字是为了解决实例变量private String name和局部变量setName(String name)中的name变量之间发生的同名的冲突

原文地址:https://www.cnblogs.com/pankypan/p/13493459.html