我想了解抽象化,但是读了很多关于它的不同文章后感到非常困惑。
以下是我的问题,我无法理解:
1) "通过使用抽象类和接口可以实现抽象化吗?" 我已经搜索了这个问题,得到了三种不同的答案:
哪一个是正确的?请给出一个简单的例子。
2) "抽象化意味着隐藏不必要的细节。例如,集中精力关注对象的功能而不是它是如何完成的。"
这是正确的吗?
3) 在抽象类中,我们可以定义具体实现和方法签名,并强制开发人员(使用抽象类的人)自己编写实现。那么,如果他正在编写自己的实现,它如何成为抽象化呢?我认为抽象化是为了隐藏实现。在接口中,开发人员必须编写每个方法的实现。
那么,这里的抽象化在哪里?
4) "抽象化"在词典中的定义是指"处理思想而不是事件的质量" - 我认为这是接口的正确定义,对于抽象类部分正确。但是,在计算机领域中,“抽象化”的定义是“隐藏不必要的细节”(简而言之)。
我在区分它们时是否正确?
请用例子或简单语句来解释/回答这个问题。
谢谢!