gpt4 book ai didi

c++ - "data abstraction"到底是什么意思?

转载 作者:IT老高 更新时间:2023-10-28 23:09:04 30 4
gpt4 key购买 nike

数据抽象指的是什么?请提供现实生活中的例子。

最佳答案

抽象有两部分:

  • 隐藏从某个角度来看无关紧要的细节
  • 确定从某个角度来看确实重要的细节,如果元素拥有这些细节,则认为它们属于相同类。

例如,如果我正在设计一个处理库存的程序,我希望能够找出系统中有多少某种类型的元素有库存。从接口(interface)系统的角度来看,我不关心我是从数据库、csv 文件、通过 SOAP 接口(interface)或穿孔卡片的远程存储库获取这些信息的。我只关心我可以说 widget.get_items_in_stock() 并知道它会返回一个整数。

如果我以后决定要以其他方式记录该数字,则设计界面的人不需要知道、关心或担心它,只要 widget 仍然拥有get_items_in_stock() 方法。同样,如果我子类化小部件类并添加 get_square_root_of_items_in_stock() 方法,界面也不需要关心。我也可以将新类的实例传递给它。

所以在这个例子中,我们隐藏了如何获取数据的细节,并确定任何带有 get_items_in_stock() 方法的东西都是 >出于某些目的使用相同的类(或其子类)。

关于c++ - "data abstraction"到底是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3634915/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com