我有这个概念性查询。我们说接口是用来实现100%的抽象,即隐藏所有的实现。
但在Interface中,所有方法都被声明为抽象的。没有实施。
当其他类实现相同的接口时,就不再存在抽象,因为实现是在实现它的类中定义的。
请对它进行一些说明。
您对提供的抽象接口有误解。
1.什么是接口?
接口是仅包含(公共)方法签名的 ob 类型对象(可能因语言而异)。它不提供这些方法的实现(函数体)*。它可以被视为实现类必须履行的一种契约。
*许多语言允许用户在接口中提供默认实现
2. 使用接口可以实现什么样的抽象?
在这个结构中,类User
只知道对象数组中的对象有一个带有签名的方法void Display()
。该方法实际上是如何实现的尚不清楚User
。
发生的抽象由红线表示。这是接口实现的唯一(非常强大的)抽象。
的各种变体的实现细节void Display()
是隐藏的User
。它可以只调用 IDisplayable.Display() 并通过多态性调用正确的方法。
归档时间: |
|
查看次数: |
21090 次 |
最近记录: |