打字猴:1.700481729e+09
1700481729 file3
1700481730
1700481731 #quit
1700481732
1700481733 我们已经实现了在Windows下操作UNIX命令的功能,但是仅仅一个ls命令族是不够的,我们要扩展,把一百多个命令都扩展出来,怎么扩展呢?现在增加一个df命令族,显示磁盘的大小,只要增加类图就成,如图34-5所示。
1700481734
1700481735
1700481736
1700481737
1700481738 图34-5 扩展df命令后的类图
1700481739
1700481740 仅仅增加了粗框的部分,也就是增加DFCommand、AbstractDF以及实现类就可以完成扩展功能。先看AbstractDF代码,如代码清单34-14所示。
1700481741
1700481742 代码清单34-14 df命令的抽象类
1700481743
1700481744 public abstract class AbstractDF extends CommandName{
1700481745
1700481746 //默认参数
1700481747
1700481748 public final static String DEFAULT_PARAM=””;
1700481749
1700481750 //参数k
1700481751
1700481752 public final static String K_PARAM=“k”;
1700481753
1700481754 //参数g
1700481755
1700481756 public final static String G_PARAM=“g”;
1700481757
1700481758 }
1700481759
1700481760 与前面一样的功能,定义选项名称。接下来是三个实现类,都非常简单,如代码清单34-15所示。
1700481761
1700481762 代码清单34-15 df命令的具体实现类
1700481763
1700481764 public class DF extends AbstractDF{
1700481765
1700481766 //定义一下自己能处理什么参数
1700481767
1700481768 protected String getOperateParam(){
1700481769
1700481770 return super.DEFAULT_PARAM;
1700481771
1700481772 }
1700481773
1700481774 //命令处理
1700481775
1700481776 protected String echo(CommandVO vo){
1700481777
1700481778 return DiskManager.df();
[ 上一页 ]  [ :1.700481729e+09 ]  [ 下一页 ]