oop – 封装和抽象之间的区别

我今天接受采访我有一个来自OOP的问题,关于封装和封装之间的区别抽象?

我回答说我知道封装基本上是绑定数据成员&成员函数转换为单个名为Class的单​​元.而抽象基本上是隐藏实现的复杂性提供访问用户的方便.我以为她的答案会很好.但是她问道,如果两者的目的是隐藏信息,那么这两者之间的实际差异是甚么?我不能给她任何答案.

在提出这个问题之前,我读了StackOverFlow上的其他线程关于这两个OOP概念之间的区别.但我没有找到我的自我来说服访问者.

任何人都可以用一个最简单的例子来证明这一点吗?

封装隐藏变量或一些可能在类中经常更改的实现,以防止外部人员直接访问它.他们必须通过getter和setter方法访问它.

抽象也用于隐藏某些东西,但是在更高的程度上(类,接口).客户端使用抽象类(或接口)不关心谁或者它是什么,他们只需要知道它能做什么.

相关文章
相关标签/搜索