封装详解
封装:通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏
追求:高内聚,低耦全。高内聚就是类的内部数据操作细节自己完成,不允许外部的数据干涉,低耦合:仅暴露少量的方法给外部使用
方法:set get
作用:过虑不合法的值,如一个人的年龄正常情况下,是不会大于200岁的,那超过这个值就想当于是不合法值,那我们封装数据后,可以在set方法中增加一些判断去过虑掉这些不合法的值
import java.util.Scanner; public class Main { public static void main(String []args){ Subt su=new Subt(); //设置输出name su.setNmae("小白"); System.out.println(su.getNmae()); //设置输出age su.setAge(-11); System.out.println(su.getAge()); } } class Subt{ //private:私有的 private String name ;//名字 private int age;//年龄 private int xykg;//编号 //get:获取数据 public String getNmae(){ return this.name; } //set:给这个属性设置值 public void setNmae(String name){ this.name=name; } //年龄 //get:获取数据 public int getAge(){ return this.age; } //set:给这个属性设置值 public void setAge(int age){ //在设置方法回增加条件用来限制输入 //过虑不合法值:年龄大于3,则为不合法值 if(age>120||age<=0){ this.age=1;//当输入的值不合法时,输出1 }else{ this.age=age; } } }
意义:
提高安全性,保护数据
隐藏代码实际细节,对于调用者并不知道内部定了什么
统一接口
加强可维护性
一般情况下,会在set方法中添加一些安全性的验证与判断

浙公网安备 33010602011771号