歡迎您光臨本站 註冊首頁

Java封裝的簡單例子

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

  先來個例子看看;

  public class Man

  {

  //對屬性的封裝,一個人的姓名,年齡,妻子都是這個對象(人)的私有屬性

  private String name;

  private int age;

  private Woman wife;

  //對改人對外界提供方法的封裝,可以設定妻子,姓名,年齡也可以獲得男人的姓名和年齡

  public void setWife(Woman wife)

  {

  this.wife = wife;

  }

  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;

  }

  }

  public class Woman

  {

  //屬性封裝

  private String name;

  private int age;

  private Man husband;

  //方法封裝

  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;

  }

  public Man getHusband()

  {

  return husband;

  }

  public void setHusband(Man husband)

  {

  this.husband = husband;

  }

  }

  /**

  * 仔細看就會發現,Man類沒有提供getWife的方法,這是以為男人不想讓自己的妻子被外界訪問,

  *

  * 直接下來呢,就是封裝可以吧一個對象的屬性私有,而提供一些可以被外界訪問的屬性的方法,

  *

  * 比如說,name屬性,Man和Woman類都有相應的get和set方法,外界都可以通過這些方法訪問和修改

  *

  * 同時對一些改對象不想讓外界訪問的屬性,就不提供其方法,比如說Man的wife屬性,就沒有get方法

  *

  * 外界是不能帶到Man類的wife屬性的

  *

  */

  上面那例子可能沒有突出封裝的好處,下面來個超簡單的表達下:

  public class Show

  {

  public static void show(String str)

  {

  System.out.println(str);

  }

  }

  上面就是對 System.out.println();的封裝.

  調用的時候 :

  public class Use

  {

  public static void main(String[] args)

  {

  Show.show("封裝");

  }

  }

  這樣用的時候就不用使:System.out.println("封裝");

  如果還有地方用到, 就省去了好多 System.out.println();

  簡而言之,有一段代碼,如果3個程序要用它,你不封裝,那你就得在這3個程序里都要寫,浪費代碼,浪費時間.


[火星人 ] Java封裝的簡單例子已經有468次圍觀

http://coctec.com/docs/java/show-post-60154.html