我正在学习抽象,而且据我所知,到目前为止,Abstraction基本上提供了一个如何在隐藏实现细节的同时使用对象的界面。但是抽象的概念是否仅适用于OOP,我的意思是如果我们想到一个独立的函数(不是类的一部分),使用函数确实只使用它的接口而不实际关心函数的实现方式。 / p>
答案 0 :(得分:2)
当然,一个函数提供了抽象。 为什么一堆函数和一个this指针提供抽象而没有这个指针的单个函数不会?
例如,如果您有一个对某些数据进行排序的函数sort(),它会从具体的排序算法中抽象出来。如果你有一个函数,它是一个巨大的代码的入口点,由在该函数的上下文中调用的数千个子函数组成,它甚至可以是非常抽象的。示例:GetRouteFromCurrentLocationTo(...)。路由器,位置传感器,某个地理数据库......所有这些都被抽象为单个函数名称
如果您改为编写,为什么它更像是抽象:NavigationSystem navSys; navSys.GetRouteFromCurrentLocationTo(...);
?