Java - 19 面向对象编程的三大特征:封装
Java - 19 面向对象编程的三大特征:封装
封装:把抽象出的数据(属性)和对数据的操作(方法)封装在一起
- 数据被保护在内部
- 程序的其它部分只能通过被授权的操作(方法)才能对数据进行操作
好处:
-
隐藏实现细节
-
对数据进行验证,保证安全合理
封装实现步骤
- 属性私有化(不能直接修改属性)
- 提供一个 public 的
set方法,用于对属性判断并赋值
public void setXxx(类型 参数名){
// 数据验证业务逻辑
属性 = 参数名
}
- 提供一个 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);
}
// ...
}

浙公网安备 33010602011771号