1.封裝的概念 (1)程式的設計需要“高內聚,低耦合”,高內聚就是類的內部數據操作細節自己完成,不允許外部干涉;低耦合僅暴露少量的方法給外部使用。 點擊查看代碼 package com.Tang.oop.demo04; import com.Tang.oop.demo03.Person; publi ...
1.封裝的概念
(1)程式的設計需要“高內聚,低耦合”,高內聚就是類的內部數據操作細節自己完成,不允許外部干涉;低耦合僅暴露少量的方法給外部使用。點擊查看代碼
package com.Tang.oop.demo04;
import com.Tang.oop.demo03.Person;
public class Application {
public static void main(String[] args) {
Student s1 = new Student();
/*
若採用s1.name來調用則會報錯,由於Student類的name屬性為私有的,所以不能直接用
*/
s1.setName("Twq");
System.out.println(s1.getName());
s1.setAge(23);
System.out.println(s1.getAge());
s1.setSex('男');
System.out.println(s1.getSex());
}
}
package com.Tang.oop.demo04;
public class Student {
//屬性私有
private String name;//姓名
private int age;//年齡
private char sex;//性別
//為了訪問這些私有的屬性或者修改這些屬性
//就需要提供一些public的get、set方法
//get方法獲取屬性信息
public String getName(){
return this.name;
}
//set方法修改屬性值
public void setName(String name){
this.name=name;
}
//alt + insert 或者control + enter 選擇生成get或者set 方法自動生成get set方法
public int getAge() {
return age;
}
public void setAge(int age) {
if(age > 120 || age < 0)
System.out.println(3);//輸入的年齡不合法時可以通過封裝來限制
else
this.age = age;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
}
(2)封裝是對數據的影藏,通常應禁止直接訪問一個對象中數據的實際表示,而應通過操作介面(也就是通過get、set 方法來實現數據的訪問)來訪問,這稱為信息影藏