封装
-
开放和封闭
- 我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不容许外部干涉;低耦合:仅暴露少量的或者不暴露方法给外部使用。
-
封装(数据的隐藏)
- 通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。
-
属性私有,get/set
//类 private: 私有 public class Student { //属性私有 private int ID; //学号 private String name; //姓名 private boolean sex; // 性别 private int age; //年龄 //提供一些可操作这个属性的方法! //提供一些public的get,set方法 //get 获得这个数据 public String getName() { return name; } //set 给这个数据设置值 public void setName(String name) { this.name = name; } //alt+insert 可以快速生成 get and set public int getID() { return ID; } public void setID(int ID) { this.ID = ID; } public boolean isSex() { return sex; } public void setSex(boolean sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { if(age < 0 || age > 150){ System.out.println("你的年龄超出范围!"); }else { this.age = age; } } } /* //封装的意义: // 1,提高程序的安全性,保护数据 // 2,隐藏代码的实现细节 // 3,统一接口 // 4,增加系统的可维护性 //方法的重载:可以参考System.out.println();中的println()方法,按住Ctrl键点击println查看。 public class Application{ public static void main(String[] args) { Student s1 = new Student(); s1.setID(0001); s1.setName("Miss Hong"); s1.setSex(false); s1.setAge(999); //不合法的 System.out.println("你的学号是:" + s1.getID() + "\n" + "你的名字是:" + s1.getName()); System.out.println(s1.getAge()); } } */
1317

被折叠的 条评论
为什么被折叠?



