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 ]
[
下一页 ]