接口(interface)总对应于某种明确的概念,它并不简简单单的等价于其成员函数的集合。有的接口如java.io.Serializable甚至没有任何成员函数。接口最重要的就是名, 是对概念的甄别。接口发布出去之后才能够被实现。当我们使用某个接口的时候,即使我们只用到其中部分函数,我们也必须负担整个概念。虽说"有名,万物之母", 并不是任何时候我们都需要名的。我们会说,就要那个,蓝色的,这么高,... blabla, 对,就是这个(this)。模板(template)弱化了类型系统,它对系统的约束直接作用在细节行为上,降低了明确建模的需求,不需要概念的分解,合并,比接口更加灵活。但模板并不是任何时候都比接口更好。想象一下,我们拿着一张采购单,上面写着需要某个物品,前面有个尖,后面有个帽,细长形,大概这么长,这么粗,上面有螺纹,螺距这么大,。。。这是...三号螺钉?嗯,最近有一种新产品,塑料材质的,你要不要试试。
模板与接口在某种程度上是互补的。
[导入]template vs. interface : 形与名
最新推荐文章于 2022-01-05 17:28:35 发布