说明
某图书管理系统中管理着两种类型的文献:图书和论文。
现在要求统计所有馆藏文献的总页码(假设图书馆中有一本540页的图书和两篇各25页的论文,那么馆藏文献的总页码就是590页)。
采用Visitor(访问者)模式实现该要求,其类图如下图所示。
Java代码
import java.util.*; //把util这个包下的全部类导入到程序中
//*表示的是通配符,包括util的所有类
interface LibraryVisitor {
//定义算法的公共接口LibraryVisitor
public void visit(Book p_book);
public void visit(Article p_article);
void printSum();
}
class LibrarySumPrintVisitor implements LibraryVisitor {
//打印总页数
private