天天看點

java面向對象特征之一:封裝與隐藏

java面向對象特征之一:封裝與隐藏

      • 1.為什麼要封裝與隐藏
      • 2.操作過程可能出現的情況
      • 3.利用封裝性思想的解決方案
      • 4.demo

1.為什麼要封裝與隐藏

  1. 使用者對類内部定義的屬性(對象的成員變量)的直接操作會導緻資料錯誤,混亂或安全性問題。
  2. 解決方法:将類的屬性保護起來,防止亂用。
  3. 保護的方式:資訊隐藏

2.操作過程可能出現的情況

  1. 當建立了類的對象以後,如果直接通過“對象.屬性”的方式對相對應的對象屬性指派的話,可能會出現于實際情況相違背的意外,故,不考慮讓對象來直接作用于屬性,而是通過“對象.方法”的方式,來控制對象對屬性的通路、指派等操作等,對屬性的要求可以通過方法來展現。

3.利用封裝性思想的解決方案

  1. 将類屬性私有化
  2. 提供公共的方法(setter & getter)來實作調用。提供公共的方法(setter & getter)來實作調用。

4.demo

public class Test {
	public static void main(String[] args) {
		Person person = new Person();
		person.setAge(2);
		int age = person.getAge();
		System.out.println("age:"+age);
	}
}
public class Person {
	private String name;
	private int age;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}