我们可以说一个独立的函数提供了抽象吗?
Can we say that a standalone function provides Abstraction?
我正在学习抽象,据我目前的理解,抽象基本上是提供一个接口,说明如何在隐藏实现细节的同时使用对象。但是抽象的概念是否只适用于 OOP,我的意思是如果我们考虑一个独立的函数(而不是 class 的一部分),使用函数确实只是使用它的接口而不真正关心函数如何已实施。
当然,函数提供了抽象。
为什么一堆函数和 this 指针可以提供抽象,而没有 this 指针的单个函数却不能?
例如,如果您有一个对某些数据进行排序的函数 sort(),它会从具体的排序算法中抽象出来。如果你有一个函数是一段巨大代码的入口点,该代码由在该函数的上下文中调用的数千个子函数组成,它甚至可以非常抽象。示例:GetRouteFromCurrentLocationTo(...)。一个路由器、一个位置传感器、一些地理数据库......所有这些都抽象为一个函数名称。
如果您改写:NavigationSystem navSys; navSys.GetRouteFromCurrentLocationTo(...);
?
为什么会更抽象?
我正在学习抽象,据我目前的理解,抽象基本上是提供一个接口,说明如何在隐藏实现细节的同时使用对象。但是抽象的概念是否只适用于 OOP,我的意思是如果我们考虑一个独立的函数(而不是 class 的一部分),使用函数确实只是使用它的接口而不真正关心函数如何已实施。
当然,函数提供了抽象。 为什么一堆函数和 this 指针可以提供抽象,而没有 this 指针的单个函数却不能?
例如,如果您有一个对某些数据进行排序的函数 sort(),它会从具体的排序算法中抽象出来。如果你有一个函数是一段巨大代码的入口点,该代码由在该函数的上下文中调用的数千个子函数组成,它甚至可以非常抽象。示例:GetRouteFromCurrentLocationTo(...)。一个路由器、一个位置传感器、一些地理数据库......所有这些都抽象为一个函数名称。
如果您改写:NavigationSystem navSys; navSys.GetRouteFromCurrentLocationTo(...);
?