前面给大家稍微的介绍了一下封装相关的知识以后,这里就来给大家分享一个实现封装的实例,要求编写表示图书的Book类,实现下面的需求,一起来看看具体实例吧。

需求:

1、基本信息包括图书名称(bookName)、总页数(pagelbtalNum),其中页数不能少于200页,否则输出错误信息,并赋予默认值200。

2、为各个属性设置赋值和取值方法。

3、具有details()方法,这个方法在控制台输出每本图书的名称和总页数。

编写BookTest测试类,为Book对象的属性赋予初始值,并调用details()方法输出详细信息。

代码实现:

创建Book 类,首先的话,要向这个类添加bookName变量,并封装这个变量。public class Book

{
private String bookName; // 图书名称
public String getBookName()
{
return bookName;
}
public void setBookName(String bookName)
{
this.bookName = bookName;
}
}

在Book类当中添加bookTotalNum变量,并封装这个变量,在封装的setter方法当中判断页数的值是否小于200。

private int bookTotalNum; // 图书总页数
public int getBookTotaiNum()
{
return bookTotalNum;
}
public void setBookTotalNum(int bookTotalNum)
{
if (bookTotalNum 
{
System.out.println(this.bookName + "这本书的页数不能少于 200 页");
this.bookTotalNum = 200;
}
else
{
this.bookTotalNum = bookTotalNum;
}
}

在Book类当中添加公有的details()方法,输出图书的名称和总页数。

public void details()
{
System.out.println(this.bookName + "这本书的总页数是:" + this.bookTotalNum);
}

创建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();
}
}

执行上述代码,输出结果:

《红与黑》这本书的页数不能少于 200 页
《红与黑》这本书的总页数是:200
************************************
《格林童话》这本书的总页数是:520