Oop 接口的功能描述?

Oop 接口的功能描述?,oop,interface,Oop,Interface,关于OOP,您如何描述接口 我的意思是,子分类可以描述为“Has-A”,继承可以是“is-A”。成员方法可以是“Can Do” 有没有什么方法可以扩展它(没有双关语)来描述接口的功能?作为一个接口。接口是一个包含所有纯虚拟成员的抽象基类 因此,看看Has-A/Is-A,它应该类似于您将要申请的抽象基类 接口通常存在于不完全支持多重继承的语言中,以更安全的方式提供一些相同的好处。Joel这并不是接口的确切含义。它在某种程度上类似于一个抽象基类,但它并没有方法和属性的实现 这几乎概括了什么是接口 正

关于OOP,您如何描述接口

我的意思是,子分类可以描述为“Has-A”,继承可以是“is-A”。成员方法可以是“Can Do”


有没有什么方法可以扩展它(没有双关语)来描述接口的功能?

作为一个接口。

接口是一个包含所有纯虚拟成员的抽象基类

因此,看看Has-A/Is-A,它应该类似于您将要申请的抽象基类


接口通常存在于不完全支持多重继承的语言中,以更安全的方式提供一些相同的好处。

Joel这并不是接口的确切含义。它在某种程度上类似于一个抽象基类,但它并没有方法和属性的实现

这几乎概括了什么是接口


正如您对方法的描述一样,我也将接口描述为“可以做的”。接口是一种契约,类似于“实现我的所有类都可以做这些事情”。

我认为对象是名词,方法是动词,接口是形容词(当然,这种类比过于简单,但通常效果很好)

示例:接口
Serializable
的工作原理类似于形容词,因为它对实现该接口的对象应用了一些特性,但不会更改该对象的内容。我们可以说,“这是一个可序列化的对象。”但我们不会说,“这是一个可序列化的对象”,也不会说,“这是一个可序列化的对象。”

我也喜欢Federico的界面是“可以做的”

接口是类支持的一组相关操作。接口中的方法一起描述了类可以做什么

就像一个名词可以使用多个形容词一样,一个类可以实现多个接口,只要它们不冲突。一个类实现的所有接口的并集是该类所能做的事情的总和

实际上,接口是一组方法签名,没有实现这些方法的代码。只有方法名和参数。根据语言的不同,方法签名还可能包括返回类型和抛出的异常

接口由方法组成,但不包括数据成员

顺便说一句,我不会说子分类是HAS-A。我的理解是子分类和继承是一样的,所以它们都是is-A。而HAS-A被称为聚合或组合

  • 合成是一个对象拥有另一个对象的地方。破坏外部对象也会破坏内部对象。大学由系组成。关闭大学,各系就会消失

  • 聚合是指一个对象包含另一个对象,但不拥有它。销毁外部对象不会销毁内部对象。大学雇佣教授,但关闭大学并不会杀死教授


组合可以描述为“has-a”,而不是子类化……因此是“所有纯虚拟成员”部分。