数据抽象

Posted webcyh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据抽象相关的知识,希望对你有一定的参考价值。

数据抽象是指,只向外界提供关键信息,并隐藏其后台的实现细节,即只表现必要的信息而不呈现细节。

数据抽象是一种依赖于接口和实现分离的编程(设计)技术。

 

,C++ 类为数据抽象提供了可能。它们向外界提供了大量用于操作对象数据的公共方法,也就是说,外界实际上并不清楚类的内部实现。

  • 使用公共标签定义的成员都可以访问该程序的所有部分。一个类型的数据抽象视图是由它的公共成员来定义的。
  • 使用私有标签定义的成员无法访问到使用类的代码。私有部分对使用类型的代码隐藏了实现细节。

数据抽象有两个重要的优势:

  • 类的内部受到保护,不会因无意的用户级错误导致对象状态受损。
  • 类实现可能随着时间的推移而发生变化,以便应对不断变化的需求,或者应对那些要求不改变用户级代码的错误报告。
#include <iostream>
using namespace std;
 
class Adder
   public:
      // 构造函数
      Adder(int i = 0)
      
        total = i;
      
      // 对外的接口
      void addNum(int number)
      
          total += number;
      
      // 对外的接口
      int getTotal()
      
          return total;
      ;
   private:
      // 对外隐藏的数据
      int total;
;
int main( )

   Adder a;
   
   a.addNum(10);
   a.addNum(20);
   a.addNum(30);
 
   cout << "Total " << a.getTotal() <<endl;
   return 0;

公有成员 addNum 和 getTotal 是对外的接口,用户需要知道它们以便使用类。私有成员 total 是用户不需要了解的,但又是类能正常工作所必需的。

 

抽象把代码分离为接口和实现。所以在设计组件时,必须保持接口独立于实现,这样,如果改变底层实现,接口也将保持不变。

在这种情况下,不管任何程序使用接口,接口都不会受到影响,只需要将最新的实现重新编译即可。

以上是关于数据抽象的主要内容,如果未能解决你的问题,请参考以下文章

了解抽象数据类型

c++ 数据抽象 封装 接口(抽象类)

数据抽象

java抽象数据类型

06抽象数据类型

数据结构3