百戰卓越班學員學習經驗分享:JAVA[面向對象]封裝

北京尚學堂|百戰卓越班學員學習經驗分享:JAVA[面向對象]封裝

來自尚學堂百戰卓越班學員知乎Balmy的學習分享。

封裝

定義:

- 封裝:對代碼細節的隱藏,只對外提供一個接口提高了系統的可擴展性,可維護性,不再關注內部實現細節,更多的關注具體的功能欄

  • a)使用private修飾屬性 ; 實現屬性私有化 ; 屬性僅在當前類中可見a.1)根據情況提供屬性的公有取值賦值方法,(set/get)a.2)當方法內部的局部變量和成員變量同名時可以使用使用 this關鍵字 區分成員變量和局部變量a.3)封裝可以提高數據的安全性和規範性a.4)封裝可以控制數據是否隱藏,需要隱藏不提供set/get方法即可a.5)boolean類型的成員變量的get方法體現為:is變量名
public class Person {
private String name;
private String gender ;
private int age;
public void setName(String name){
this.name = name;
}
//定義一個方法 返回當前對象的name屬性值
public String getName(){
return name;
}
public void setGender(String gender){
//如果性別是男或者女 那麼 正常賦值

if(gender.equals("男")|| gender.equals("女")){
this.gender=gender;
}else{
//如果性別不是男也不是女 那麼給一個默認值為 男
this.gender="男";
}
}
//定義一個方法 返回當前對象的gender屬性
public String getGender(){
return gender;
}
public void setAge(int age) {
if (age > 0 && age < 100) {
this.age = age;
}
}
//定義一個方法 返回當前對象對的age屬性值
public int getAge(){
return age;
}
public void showInfo(){
System.out.println(name+gender+age);
}
}

測試代碼

package encapsulationDemo;
public class TestPerson {
public static void main(String[] args) {
//獲得Person對象
Person p=new Person();
p.setName("旋渦劉能");
p.setGender("男");
p.setAge(56);
p.showInfo();
//僅僅需要查看人的屬性 怎麼辦?
System.out.println(p.getAge());
System.out.println(p.getGender());
System.out.println(p.getName());
}

}

“我們相信人人都可以成為一個IT大神,現在開始,選擇一條陽光大道,助你入門,學習的路上不再迷茫。這裡是北京尚學堂,初學者轉行到IT行業的聚集地。"


分享到:


相關文章: