封装原则
- 将不需要对外提供的内容都隐藏起来
-
封装好处
提高数据访问的安全性
- 隐藏了实现细节
从数据安全角度
没有封装,在外部类中可以直接访问修改数据,造成数据不安全public class Employee{double salary;}
public class Manager{public static void main(String[] args){Employee emp=newEmployee();emp.salary=0.0; //直接读取数据不安全}}
封装的控制和实现
private私有访问修饰符修饰变量public class Employee{private double salary;}
public class Manager{public static void main(String[] args){Employee emp=newEmployee();emp.salary=0.0; //报错}}
封装的控制和实现
提供一个公共的方法的访问方式
public class Employee{private double salary;public void setSalary(double newSalary){if(newSalary>=5000){salary=newSalary;}else{System.out.println("对不起,设置员工的工资不符合员工最低工资标准");}}public double getSalary(){return salary;}}
public class Manager{public static void main(String[] args){Employee emp = new Employee();emp.setSalary(6000);}}
面向对象的封装机制
该露的露,该藏的藏
高内聚
低耦合
数据的隐藏
应禁止直接访问一个对象中数据的实际表示,而通过操作方法来访问,这称为数据的隐藏
追求的是提高数据访问的安全性
