抽象与封装

作者: Laura McKinney
创建日期: 8 四月 2021
更新日期: 1 可能 2024
Anonim
编程2 C++面向对象1:抽象与封装
视频: 编程2 C++面向对象1:抽象与封装

内容

抽象是一个过程
收集重要信息,这些信息将为建立一个基础
复杂的系统。封装是开发复杂系统的过程
更易于管理最终用户,而无需担心其内部复杂性。的
抽象和封装之间的区别在于
抽象侧重于确定构建组件的基本组件
封装的重点是隐藏系统的内部复杂性。


内容:抽象与封装之间的区别

  • 比较表
  • 什么是抽象?
  • 什么是封装?
  • 抽象与封装之间的主要区别
  • 结论

比较表

基本的 抽象化 封装形式
定义 开发一个
系统。
封装是开发复杂系统的过程
成就 通过封装实现。 通过使一个成员成为
类为私有。
重点 重点在于应该做什么 重点在于应如何做。
应用 在设计阶段。 实施期间
水平。
例子 手机的GUI,它具有一些要单击的图标,
单击执行特定功能。
单击图标后,
最终用户对其实施细节一无所知

什么是抽象?

抽象是提取关键元素的机制
用于创建系统,没有其实现细节。在
抽象,我们必须只专注于要做的事情,而不是如何做
需要做的。抽象是一个思考过程,它解决了设计中的问题
水平。

分层分类有助于我们处理复杂的抽象。它使我们能够将复杂的系统分解为可管理的部分并生成分层的语义。此外,这是一个概括。

让我们以汽车为例,它是由许多子系统创建的,例如引擎,制动器,照明,音响系统,椅子等。作为自行车子系统的“制动器”可以进一步分为前轮制动器和后轮制动器,但通常,我们将所有子系统都视为制动器。因此,我们必须通过分层分类来管理复杂的系统,这有助于我们找出开发系统所需的关键要素。


因此,抽象只是概括什么是元素
对于构建系统至关重要,即仅选择重要的系统。

什么是封装?

封装是面向对象编程的重要功能。这是一种机制
将代码和数据绑定在一起,并使它们免受外部的攻击
干扰。也就是说,封装隐藏了系统的复杂性,
因为这里的关键字是数据隐藏。这类似于保护
隐藏该类中的代码和数据的包装器,由
在类和成员函数/方法之外定义的另一个代码
不是班级成员。

当代码和数据运行时
在该数据上,将它们链接到类中,然后创建此类的对象。
对项目元素的访问受到定义明确的界面的限制
被称为访问说明符。一共有三个
Java和C ++中的指定符公共,私有,安全。

封装特别是通过编写代码来实现的
以及以该数据为私有数据的数据。该类的私有成员无法访问定义的代码
在课外。它有助于防止滥用数据,同时也隐藏了复杂性
代码。

让我们以手机为例。在手机上,
可以执行许多功能,例如单击图片,录制视频/音频,
,访问网络等等。您认为这些是
手机的特性。但是,最终用户不需要
在使用这些功能之前,请先了解这些功能的内部复杂性
程序,也不需要更改任何功能的功能。

因此,这种封装方式掩盖了复杂性,
防止滥用数据。

抽象与封装之间的主要区别

  1. 抽象侧重于所需的组件
    构建系统,而封装则着重于隐藏系统的复杂性
    系统。
  2. 在系统的设计阶段完成抽象,并且
    当系统具有
    已实施。
  3. 抽象的主要动机是,要进行构建需要做什么
    一个系统,而封装的主要目的是,应该如何构建一个系统。
  4. 通过以下方式实现抽象
    封装,而封装是通过使
    系统私有。

结论

抽象和封装
两者都是OOP的重要特征。出色的封装可以实现出色的抽象。