问题

【Java代码】

import Java.util.ArrayList;

import java.util.List;

(1) class AbstractFile{

protected String name;

public void printName(){System.out.println(name);}

public abstract boolean addChild(AbstractFile file);

public abstract boolean removeChild(AbstractF ile file);

public abstract List<AbstractFile> getChildren();

class File extends AbstractFile{

public File(String name){this.name=name;}

public boolean addChild(AbstractFile file){return false;}

public boolean removeChild(AbstractFile file){return false;}

public List<AbstractFile> getChildren(){return (2) ;}

class Folder extends AbstractFile{

private List <AbslractFile> childList;

public Folder(String name){

this.name=name;

this.childList=new ArrayList<AbstractFile>();

public boolean addChild(AbstractFile file) { return childList.add(file);}

public boolean removeChild(AbstractFile file){return childList.remove(file);}

public (3) <AbstractFile> getChildren(){return (4) ;}

public class Client{

public static void main(String[] args){

//构造一个树形的文件/目录结构

AbstractFile rootFolder= new Folder("c:\\ ");

AbstractFile compositeFolder=new Folder("composite");

AbstractFile windowsFolder=new Folder("windows");

AbstractFile file=new File("TestComposite.java");

rootFolder.addChild(compositeFolder) ;

rootFolder.addChild(windowsFolder);

compositeFolder.addChild(file) ;

//打印目录文件树

printTree(rootFolder);

private static void printTree(AbslractFile ifile){

ifile.printName();

List <AbslractFile> children=ifile.getChildreno:

if(children==null) return;

for (AbstractFile file:children) {

(5) ;

}

该程序运行后输出结果为:

c:\

composite

TestComposite.java

Windows

参考答案
您可能感兴趣的试题
  • 【C程序】#include/*此处为栈类型及其基本操作的定义,省略*/int main(){STACK station;int state[1000];int n; /*车厢数*/i
  • 试题一(共 15 分)阅读以下说明,回答问题 1 至问题3,将解答填入答题纸的对应栏内。【说明】某公司针对通信手段的进步,需要将原有的业务系统扩展到互联网上。运行维护部门需要针对此需求制定相应的技术安
  • 试题四(共 15 分)阅读以下说明,回答问题 1 至问题3,将解答填入答题纸的对应栏内。【说明】信息系统是一个复杂的人机系统,系统内外环境以及各种人为的、机器的因素都在不断地变化。为了使系统能够适应这
  • 【问题 3】(5 分)图1-2 中有两条数据流是错误的,请指出这两条数据流的名称,并改正。(注:数据流的起点和终点均采用图中的符号和描述)
  • 【问题 4】(4 分)根据【说明】 ,将图 1-2中 P1~P4 的处理名称填充完整。
  • 【问题 1】(3 分)为了达到预期的安全性,测试人员采用了静态代码安全测试、动态渗透测试、程序数据扫描三种方法对系统进行安全性测试。其中, (1) 对应用系统进行攻击性测试,从中找出系统运行时所存在的
相关内容