面向对象设计原则-接口隔离原则示例

2023-05-05 14:42:46 浏览数 (1)

假设我们有一个名为Document的类,它表示一个文档。文档可以保存到文件中,也可以从文件中加载。我们可以将Document接口拆分成更小的、更具体的接口,例如Savable和Loadable接口。

代码语言:javascript复制
public interface Savable {
    void save(String filename);
}

public interface Loadable {
    void load(String filename);
}

public class Document implements Savable, Loadable {
    private String content;
    public void save(String filename) {
        // 保存文档到文件中
    }
    public void load(String filename) {
        // 从文件中加载文档
    }
    // 其他方法...
}

public class Application {
    public static void main(String[] args) {
        Document document = new Document();
        // 保存文档
        document.save("document.txt");
        // 加载文档
        document.load("document.txt");
    }
}

在这个示例中,Document类实现了Savable接口和Loadable接口。Savable接口定义了save()方法,Loadable接口定义了load()方法。Document类实现了这些方法,并且在这些方法中实现了保存文档和加载文档的逻辑。

在Application类中,我们创建了一个Document对象,并调用了它的save()方法和load()方法。由于Document类实现了Savable接口和Loadable接口,我们可以将Document对象视为Savable对象和Loadable对象,并使用这些接口中定义的方法。

0 人点赞