Java - 19 面向对象编程的三大特征:封装

Java - 19 面向对象编程的三大特征:封装

封装:把抽象出的数据属性)和对数据的操作方法)封装在一起

  • 数据被保护在内部
  • 程序的其它部分只能通过被授权的操作(方法)才能对数据进行操作

好处:

  1. 隐藏实现细节

  2. 对数据进行验证,保证安全合理

封装实现步骤

  1. 属性私有化(不能直接修改属性)
  2. 提供一个 public 的 set 方法,用于对属性判断并赋值
public void setXxx(类型 参数名){
    // 数据验证业务逻辑
    属性 = 参数名
}
  1. 提供一个 public 的 get 方法,用于获取属性的值
public 数据类型 getXxx(){ // 权限判断
    return xx;
}

e.g.

class Person{
    public String name;
    private int age;
    private double salary;
    
    public String getName(){
        return name;
    }
    public void setName(String name){
        if(name.length() >= 2 && name.length() <=6)
        	this.name = name;
        else{
            System.out.println("名字长度不对,需要在2到6个字符");
        }
    }
        public int getAge(){
        return age;
    }
    public void setAge(int age){
        // 判断
        if(age >= 1 && age <= 120)
        	this.age = age;
        else{
            System.out.println("年龄范围不对,需要在1到120之间");
            this.age = 18; // 给一个默认值
        }
            
    }
        public double getSalary(){
        return salary;
    }
    public void setSalary(double salary){
        this.salary = salary;
    }
}

将构造器与set方法结合

将set方法写到构造器中,仍然可以验证数据

class Person{
    public String name;
    private int age;
    private double salary;
    
    public Person(String name, int age, double salary){
        this.setName(name);
        this.setAge(age);
        this.setSalary(salary);
    }
    
   // ...
}
posted @ 2024-10-15 19:32  wajiez  阅读(17)  评论(0)    收藏  举报