java面向對象(封裝)
阿新 • • 發佈:2019-01-04
strong 方法 對象 setname microsoft 由於 成員 java pri
一.封裝的概述
封裝是指一種將抽象性函式接口的實現細節部份包裝、隱藏起來的方法。
是面向對象思想的特征之一,面向對象共有三個特征:封裝,繼承,多態。
二.封裝的優點
1.良好的封裝能夠減少耦合。
2. 類內部的結構可以自由修改。
3. 可以對成員變量進行更精確的控制。
4. 隱藏信息,實現細節。
三.封裝舉例(步驟)
1. 修改屬性的可見性來限制對屬性的訪問(一般限制為private)
public class Person { private String name; private int age; }
將 name 和 age 屬性設置為私有的,只能本類才能訪問,其他類都訪問不了,如此就對信息進行了隱藏。
2.對外提供公共方法訪問(get&set)
public class Person{ private String name; private int age; ? public int getAge(){ return age; } ? public String getName(){ return name; } ? public void setAge(int age){ this.age = age; } ? public void setName(String name){this.name = name; } }
四.this的解釋與應用
在成員變量名前面加上this.來區別成員變量和局部變量
//在Person類中定義功能,判斷兩個人是否是同齡人 class Person { private int age; private String name; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() {return name; } public void setName(String name) { this.name = name; } public void speak() { System.out.println("name=" + this.name + ",age=" + this.age); } // 判斷是否為同齡人 public boolean equalsAge(Person p) { // 使用當前調用該equalsAge方法對象的age和傳遞進來p的age進行比較 // 由於無法確定具體是哪一個對象調用equalsAge方法,這裏就可以使用this來代替 /* * if(this.age == p.age) { return true; } return false; */ return this.age == p.age; } }
java面向對象(封裝)