知识卡片

抽象类接口与供给需求关系

普通读书笔记卡 · 1944.d

内容

抽象类(abstract class)不能被直接实例化,只能实例化其子类;通常带抽象操作(abstract operation)——只有声明没有实现体。接口是所有特性都抽象的类,用«interface»标注。类和接口有两种关系:类可替换接口使用即供给(provides)该接口(Java/.NET靠实现接口,C++靠继承接口类);类需要接口实例才能工作即需要(requires)该接口,本质是依赖它。

参考来源

- 位置:《UML精粹:标准对象建模语言简明指南(第3版)》第5章《类图:进阶概念》(源文件:_epub-src/EPUB/4.xhtml) - 结论依据:原文定义"抽象类(abstract class)是指不能被直接实例化的类……抽象操作(abstract operation)没有实现,它是纯声明",并说明"如果类可以替换接口,那么就说类供给一个接口(provides an interface)……如果类需要一个接口的实例才能工作,那么,类需要一个接口(requires an interface)"。 - 原始内容:抽象类(abstract class)是指不能被直接实例化的类……抽象操作(abstract operation)没有实现,它是纯声明,所以客户不能绑定到抽象类……如果类可以替换接口,那么就说类供给一个接口(provides an interface)……如果类需要一个接口的实例才能工作,那么,类需要一个接口(requires an interface)。