数据抽象是指什么?
请提供现实生活中的例子.
请提供现实生活中的例子.
解决方法
抽象有两部分:
>隐藏从某个角度来看无关紧要的细节
>确定从某个角度考虑事项的细节,如果具有这些细节,则将项目考虑在同一类中.
例如,如果我正在设计一个处理库存的程序,我想知道系统有多少项目.从接口系统的角度来看,我不在乎我是从数据库,csv文件,通过SOAP接口的远程存储库或打印卡获取这些信息.我只是关心我可以说widget.get_items_in_stock(),并知道它会返回一个整数.
如果我后来决定要以其他方式记录这个数字,只要widget还有get_items_in_stock()方法,设计界面的人就不需要知道,关心或担心.像智慧一样,界面不需要关心我是否子类化小部件类并添加一个get_square_root_of_items_in_stock()方法.我也可以传递一个新类的实例.
所以在这个例子中,我们隐藏了数据获取的细节,并且决定使用get_items_in_stock()方法的任何东西都是同一个类(或其子类)的实例.