封装和抽象之间的区别

2024-04-11

我今天去面试了。我有一个问题来自OOP,关于之间的区别封装 & 抽象?

我据我所知回答说封装基本上将数据成员和成员函数绑定到一个称为Class。然而抽象基本上是为了隐藏实现的复杂性并为用户提供方便的访问。我以为她会同意我的回答。但她质疑,如果两者的目的都是隐藏信息,那么两者的实际区别是什么?我无法给她任何答案。

在问这个问题之前,我阅读了 StackOverFlow 上关于这两者之间区别的其他帖子OOP的概念。但我发现自己无法说服面试官。

谁能用最简单的例子来证明它的合理性?


封装隐藏变量或一些可能经常更改的实现在课堂上防止外人直接访问。他们必须通过 getter 和 setter 方法访问它。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

封装和抽象之间的区别 的相关文章

随机推荐