Java 使用UML的类层次结构

Java 使用UML的类层次结构,java,file,uml,Java,File,Uml,任务是使用这个简单的图表创建类/接口层次结构。有人能检查一下我做这件事的企图,并说出我做错了什么吗。我需要类SystemFile能够根据currentDirectory值保留IFile对象的数组。实现IFile接口的类需要像文件类那样执行一些文件类方法。另一个问题是在listFiles方法中,它返回文件值,如何使其成为IFile import java.io.File; import java.io.InputStream; import java.io.OutputStream; import

任务是使用这个简单的图表创建类/接口层次结构。有人能检查一下我做这件事的企图,并说出我做错了什么吗。我需要类SystemFile能够根据currentDirectory值保留IFile对象的数组。实现IFile接口的类需要像文件类那样执行一些文件类方法。另一个问题是在listFiles方法中,它返回文件值,如何使其成为IFile

import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.security.cert.Extension;

public interface IFile {
public String getName();

public String getParent();

public String getPath();

public String getAbsolutePath();

public long lastModified();

public boolean isFile();

public boolean isDirectory();

public long size();

public boolean exists();

public boolean delete();

public File[] listFiles();

public InputStream getInputStream();

public OutputStream getOutputStream();

public Extension getFileExtension();

}
 import java.io.File;
 import java.util.Date;

import javax.swing.filechooser.FileSystemView;
 import javax.swing.table.AbstractTableModel;

 public class FileSystemTableModel extends AbstractTableModel implements
    Constants {

private IFile currentDirectory;
private IFile[] files;


@Override
public int getColumnCount() {
    return 3;  
}

@Override
public int getRowCount() {
    // TODO Auto-generated method stub
    return files.length;
}

@Override
public Object getValueAt(int arg0, int arg1) {

    switch (arg1) {
    case 0:
        if(FileSystemView.getFileSystemView().isDrive((IFile)files[arg0]))
        return files[arg0].toString();
        else
            return files[arg0].getName();
    case 1:
        return files[arg0].size();
    case 2:
        return new Date(files[arg0].lastModified());
    }
    return arg1;    
}

@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
    // TODO Auto-generated method stub
    return false;
}

public IFile getCurrentDirectory() {
    return currentDirectory;
}

public void setCurrentDirectory(IFile currentDirectory) {
    this.currentDirectory = currentDirectory;
}

public void setFiles(IFile[] files) {
    this.files = files;
}

public IFile[] getFiles() {
    return files;
}


@Override
public String getColumnName(int column) {
    switch(column){
    case 0:
        return TABLE_COLUMN_NAME;
    case 1:
        return TABLE_COLUMN_SIZE;
    case 2:
        return TABLE_COLUMN_MODIFIED;
    } 

    return null;
}
 }
 public class SystemFile extends File implements IFile {


 public SystemFile(String arg0) {
    super(arg0);
    // TODO Auto-generated constructor stub
}

 @Override
 public String getName() {
// TODO Auto-generated method stub
return super.getName();
}

@Override
public String getParent() {
    // TODO Auto-generated method stub
    return super.getParent();
}

@Override
public String getPath() {
    // TODO Auto-generated method stub
    return super.getPath();
}

@Override
public String getAbsolutePath() {
    // TODO Auto-generated method stub
    return super.getAbsolutePath();
}

@Override
public long lastModified() {
    // TODO Auto-generated method stub
    return super.lastModified();
}

@Override
public boolean isFile() {
    // TODO Auto-generated method stub
    return super.isFile();
}

@Override
public boolean isDirectory() {
    // TODO Auto-generated method stub
    return super.isDirectory();
}

public long size() {
    // TODO Auto-generated method stub
    return super.length();
}

@Override
public boolean exists() {
    // TODO Auto-generated method stub
    return super.exists();
}

@Override
public boolean delete() {
    // TODO Auto-generated method stub
    return super.delete();
}

@Override
public File[] listFiles() {
    // TODO Auto-generated method stub
    return super.listFiles();
}

@Override
public InputStream getInputStream() {
    // TODO Auto-generated method stub
    return null;
}

@Override
public OutputStream getOutputStream() {
    // TODO Auto-generated method stub
    return null;
}

@Override
public Extension getFileExtension() {
    // TODO Auto-generated method stub
    return null;
}

 }

我还没有使用remotefile类。

这是你的家庭作业吗?这只是一小部分