当前位置: 首页 > 知识库问答 >
问题:

理解封装和抽象的简单方法

白志勇
2023-03-14

学习OOP概念,特别对深入理解抽象和封装感兴趣。

已签出以下内容

抽象VS信息隐藏VS封装

抽象和封装之间的区别?

我发现如果没有一个真实的、简单的示例类/代码片段,很难理解这些概念。

我的一个同事说过,抽象就是创建抽象类和普通类,用作用域保护其成员变量,称为封装。

有没有一种简单的方法我可以理解并帮助别人理解他们到底是什么,而不是重复下面的内容?

抽象和封装是互补的概念:抽象关注对象的可观察行为...封装侧重于导致这种行为的实现...封装通常是通过信息隐藏来实现的,信息隐藏是隐藏对象所有不影响其本质特征的秘密的过程。

共有1个答案

尚楚
2023-03-14

抽象是一个过程,在这个过程中,您只显示“相关的”数据,而向用户“隐藏”对象的不必要的细节。考虑一下你的手机,你只需要知道发送信息或拨打电话需要按什么按钮,当你按下一个按钮时会发生什么,你的信息是如何发送的,你的电话是如何连接的,这些都是从用户那里抽象出来的。

封装是将数据和函数组合成一个称为类的单一单元的过程。在封装中,数据不直接访问;它是通过类中的函数访问的。简单地说,类的属性是私有的,并提供公共getter和setter方法来操作这些属性。因此,封装使数据隐藏的概念成为可能。

 类似资料:
  • 我正在阅读OOP的一些基本内容。我对封装和抽象感到困惑。根据我的理解,抽象是一种只暴露很少的东西而隐藏很少的东西的方式。封装帮助我们封装对象的状态,以便外部世界无法访问它,并且可以通过内部方法访问它。因此,它们都是相关的。但是我读过很多次,封装是通过使用getter和setter实现的,而抽象是通过使用抽象类和接口实现的。现在考虑下面的代码(C) 在上面的代码中,我没有使用接口或抽象类,但根据我的

  • 本文向大家介绍java的jdbc简单封装方法,包括了java的jdbc简单封装方法的使用技巧和注意事项,需要的朋友参考一下 学习了jdbc一段时间后感觉自己写一个简单的封装来试试,于是参考的一些资料就写了一下不是多好,毕竟刚学也不太久 首先写配置文件:直接在src下建立一个db.properties文件然后写上内容 之后再写一个类代码如下 之后写主类代码如下 下面是两张图是建立db.propert

  • Truffle provides contract abstractions for interacting with your contracts. Skip ahead to the api section for a list of contract methods. 使用方法 To obtain a contract abstraction you can require it with

  • 我正在准备一次面试,并决定重温一下我的OOP概念。有数百篇文章可供使用,但似乎每一篇文章的描述都不一样。有人说 抽象是“识别具有系统变化的公共模式的过程;抽象代表了公共模式,并提供了一种指定使用哪种变化的方法”(Richard Gabriel)。 并通过抽象的类来实现。 另一些人说 抽象意味着只向对象的客户端显示必要的细节 而且 假设您的Employee类中有一个方法“CalculateSalar

  • 我今天有个面试。我有一个来自OOP的问题,关于封装之间的区别 我告诉她,封装基本上是绑定数据成员 在提出这个问题之前,我阅读了StackOverFlow上的其他线程,了解这两个OOPs概念之间的区别。但我发现自己无法说服面试官。 有人能举个最简单的例子来证明吗?

  • 问题内容: 封装和抽象之间的确切区别是什么? 问题答案: 这里的大多数答案都集中在OOP上,但封装要早得多: 每个函数都是一个封装 ; 用伪代码: 这里,封装了平面中两点之间的(欧几里得)距离的计算:隐藏了实现细节。这是封装,纯净而简单。 抽象是泛化的过程:采取具体的实现方式并将其应用于不同的(尽管有些相关)数据类型。抽象的经典示例是C的qsort数据排序功能: 关于的事情是,它不关心排序的数据-