Val*_*zub 8 oop design-patterns
GoF书中的第13页有一个声明:
Two objects of the same type need only share parts of their interfaces.
Run Code Online (Sandbox Code Playgroud)
我不确定我理解这句话.
编辑:完整的引用可能确实有助于理解这一点
类型是用于表示特定接口的名称.如果对象接受对名为"Window"的接口中定义的操作的所有请求,则将对象称为具有"Window"类型.对象可以有许多类型,并且广泛不同的对象可以共享类型.对象界面的一部分可以用一种类型表征,而其他部分用其他类型表征.两个相同类型的对象只需要共享其接口的一部分.接口可以包含其他接口作为子集.
在他们的语言中,对象接口是对象的整个公共契约(不要认为语言实现在这里).
由对象定义的所有签名集称为对象的接口 .
一类是更像是你会觉得作为一个声明接口....
甲类型是用于表示一个特定的接口的名称.
想像:
public class Foo : IBar, IBaz {}
public class Fuz : IBar, IBuz {}
Run Code Online (Sandbox Code Playgroud)
Foo和Fuz都是IBar"类型",但它们只共享各自接口的那个方面.