C語言中文網 目錄

Java封裝圖書信息類

< 上一頁Java類的封裝 Java類的繼承下一頁 >

了解上節有關封裝的知識后,本節通過完整的例子再次實現封裝。要求編寫表示圖書的 Book 類,實現以下需求:
  • 基本信息包括圖書名稱(bookName)、總頁數(pagelbtalNum),其中頁數不能少于 200 頁,否則輸出錯誤信息,并賦予默認值 200。
  • 為各個屬性設置賦值和取值方法。
  • 具有 details() 方法,該方法在控制臺輸出每本圖書的名稱和總頁數。

編寫 BookTest 測試類,為 Book 對象的屬性賦予初始值,并調用 details() 方法輸出詳細信息。根據上面的描述添加代碼,步驟如下。

(1) 創建 Book 類,首先向該類添加 bookName 變量,并封裝該變量。代碼如下:
private String bookName;    //圖書名稱
public String getBookName()
{
    return bookName;
}
public void setBookName(String bookName)
{
    this.bookName=bookName;
}

(2) 在 Book 類中添加 bookTotalNum 變量,并封裝該變量,在封裝的 setter 方法中判斷頁數的值是否小于 200。代碼如下:
private int bookTotalNum;    //圖書總頁數
public int getBookTotaiNum()
{
    return bookTotalNum;
}
public void setBookTotalNum(int bookTotalNum)
{
    if(bookTotalNum<200)
    {
        System.out.println(this.bookName+"這本書的頁數不能少于 200 頁");
        this.bookTotalNum=200;
    }
    else
    {
        this.bookTotalNum=bookTotalNum;
    }
}

(3) 在 Book 類中添加公有的 details() 方法,輸出圖書的名稱和總頁數。代碼如下:
public void details()
{
    System.out.println(this.bookName+"這本書的總頁數是:"+this.bookTotalNum);
}

(4) 創建 BookTest 測試類,在該類的 main() 方法中創建 Book 類的兩個實例對象,然后分別為類中的兩個屬性賦值,最后調用 details() 方法輸出信息。代碼如下:
public class BookTest
{
    public static void main(String[] args)
    {
        Book book1=new Book();
        book1.setBookName("《紅與黑》");
        book1.setBookTotalNum(190);
        book1.details();
        System.out.println("************************************");
        Book book2=new Book();
        book2.setBookName("《格林童話》");
        book2.setBookTotalNum(520);
        book2.details();
    }
}

(5) 執行上述代碼,輸出結果如下:
《紅與黑》這本書的頁數不能少于 200 頁
《紅與黑》這本書的總頁數是:200
************************************
《格林童話》這本書的總頁數是:520
< 上一頁Java類的封裝 Java類的繼承下一頁 >

精美而實用的網站,提供C語言、C++、STL、Linux、Shell、Java、Go語言等教程,以及socket、GCC、vi、Swing、設計模式、JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo
极速pk10开户