Java面向對象的三大特徵:封裝,繼承,多態
封裝:
封裝的作用:爲多態做準備的(繼承也是)。
封裝就是把同一類事物的共性(包括屬性和方法)歸到同一類中,方便使用。 (屬性能夠描述事物的特徵,方法能夠描述事物的動作。)
1. 封裝的定義:
封裝:是將類的某些信息隱藏在類的內部,不允許外部程序直接訪問,而是通過該類提供的方法來實現對隱藏信息的操作和訪問。
也可以理解爲:存在一個邊界,邊界之內的細節隱藏起來,只留下對外的藉口(如:筆記本,手機,飲水機)
例如:筆記本如果不加塑料外殼能用不,能用,不過就是不安全,不好看罷了。而如果我們把它包裝一下,我們用的功能多了嗎?沒有,不過比不包裝不僅好看了,更重要的是安全了很多,也方便我們帶了。
封裝的好處:
① 只能通過規定方法訪問數據,安全、易用、簡單、易維護。
② 隱藏類的實現細節
③ 方便加入控制語句
④ 方便修改實現經過封裝的屬性,不能直接訪問,要通過公共屬性get/set方法訪問。
下面我們來看下這個例子:
public class Husband {
//對屬性的封裝一個人的姓名、性別、年齡、妻子都是這個人的私有屬性
private String name;
private String sex;
private int age;
private Wife wife;
//set()、get()方法是該對象對外開發的接口
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public String getSex() { return sex; }
public void setSex(String sex) { this.sex = sex; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
public void setWife(Wife wife) { this.wife = wife; }
}