摘要:
假如現在有一個類Parent,里面有個屬性的類型是Child,add的方法里面還有個參數的類型是Girl:
class Parent{
Child child;
void add(Girl girl){
...
}
}
因為上面Parent里面用到了Child跟Girl這兩個類,我們就說,Parent引用了類Child跟類Girl。現在的問題是,假如Child這個類或者Girl這個類編譯不過的話,那么Parent這個類也編譯不了了。也就是說,Parent依靠于Child跟Girl。這章講述的,就是因為一些類的依靠造成的無法重用的問題。
示例
這是一個處理Zip的程序。用戶可以在主窗口中先輸入要生成的目標zip的路徑,比如c:/f.zip ,然后輸入他想壓縮到這個zip的源文件的路徑,比如
c:/f2.doc和c:/f2.doc 。然后這個程序就會開始壓縮f1.doc和f2.doc,生成f.zip文件。在壓縮各個源文件的時候,主窗口下的狀態欄都要顯示相關的信息。比如,在壓縮c:/f2.doc的時候,狀態欄就顯示"正在壓縮 c:/f2.zip"。
目前的代碼就是
class ZipMainFrame extends Frame {
StatusBar sb;
void makeZip() {
String zipFilePath;
String srcFilePaths[];
//根據UI上給zipFilePath和srcFilePaths賦值
...
ZipEngine ze = new ZipEngine();
ze.makeZip(zipFilePath, srcFilePaths, this);
}
void setStatusBarText(String statusText) {
sb.setText(statusText);
}
}
class ZipEngine {
void makeZip(String zipFilePath, String srcFilePaths[], ZipMainFrame f) {
//在該路徑上創建zip文件
...
for (int i = 0; i < srcFilePaths.length; i++) {
//將srcFilePaths[i]的文件加到壓縮包中
...
f.setStatusBarText("Zipping "+srcFilePaths[i]);
}
}
}新聞熱點
疑難解答