封装(面向对象的三大特征)

SOBER大约 1 分钟

封装(面向对象的三大特征)

介绍

封装 (encapsulation) 就是把抽象出的数据 [属性] 和对数据的操作 [方法] 封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作 [方法],才能对数据进行操作。

封装的理解和好处

  1. 隐藏实现细节: 方法( 连接数据库 ) <-- 调用( 传入参数...)
  2. 可以对数据进行验证,保证安全合理

封装的实现步骤

  1. 将属性进行私有化 private ( 不能直接修改属性 )
  2. 提供一个 set 方法, 用于对属性判断并赋值
  3. 提供一个公共的get方法,用于获取属性的值

演示

不能随便查看人的年龄,工资等隐私并对设置的年龄进行合理的验证。年龄合理就设置,否则给默认,年龄必须在 1-120,年龄,工资不能直接查看, name 的长度在 2-6 之间

public class Test {
    public static void main(String[] args){
       Person p1 = new Person();
       p1.setName("杨胜军");
       p1.setAge(27);

       /** 调用构造器 */
        Person p = new Person("杨胜军", 10);
        System.out.println(p.info());
    }
}

class Person {
    public String name;
    private int age;

    /** 使用构造器 调用 set 方法 */
    public Person(String name, int age){
        setName(name);
        setAge(age);
    }

    /** get 方法 */
    public String getName() {
        return name;
    }
    public int getAge() {
        return age;
    }

    /** set 方法 */
    public void setName(String name) {
        this.name = name;
    }
    public void setAge(int age) {
        this.age = age;
    }
    /** 输出信息 */
    public void info(){
        System.out.println("name=" + this.name + "age" + this.age);
    }
}

快速生成 get 和 set