1 封裝
- 程序設(shè)計(jì)的追求是“高內(nèi)聚,低耦合”构回。高內(nèi)聚就是類內(nèi)部數(shù)據(jù)的操作細(xì)節(jié)自己完成夏块,不允許外部干涉;低耦合是僅暴露少量的方法給外部使用纤掸。
- 封裝是數(shù)據(jù)的隱藏脐供,通常應(yīng)禁止訪問一個(gè)對象中數(shù)據(jù)的實(shí)際表示,而應(yīng)該通過“接口”來訪問借跪,這稱為信息隱藏政己。
- 屬性私有,通過get掏愁、set操縱類內(nèi)部數(shù)據(jù)的方法
2 封裝的優(yōu)點(diǎn)
(1)提高程序的安全性匹颤,保護(hù)數(shù)據(jù)
(2)隱藏代碼的實(shí)現(xiàn)細(xì)節(jié)
(3)統(tǒng)一接口
(4)增加系統(tǒng)可維護(hù)性
3 代碼示例
package Demo01; public class Student { //使用private關(guān)鍵字來定義私有 private String name; private int age; //Alt + insert快捷鍵自動(dòng)生成set和get方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } //可以對用戶輸入的不合法數(shù)據(jù)進(jìn)行一定的處理 public void setAge(int age) { if(age>0 & age<125) this.age = age; else System.out.println("輸入數(shù)據(jù)不合法,默認(rèn)為:"); } }
main方法
package Demo01; import Demo01.Student; public class Application { public static void main(String[] args) { Student xm = new Student(); //xm.name = "小明"; // 私有屬性,報(bào)錯(cuò) //私有屬性應(yīng)該通過set賦值 xm.setName("小明"); System.out.println(xm.getName()); //小明 xm.setAge(150); //輸入不合法數(shù)據(jù) System.out.println(xm.getAge()); //0 } }