在 计算机科学中, 抽象化( 英语:Abstraction)是将 数据与 程序,以它的语义来呈现出它的外观,但是隐藏起它的实现细节。抽象化是用来减少程序的复杂度,使得程序员可以专注在处理少数重要的部份。一个 电脑 系统可以分区成几个抽象层(Abstraction layer),使得 程序员可以将它们分开处理。
抽象就是把一个问题或模型,以不同规则或方法所得出的不同的解(求解方法和解本身即 抽象层),这些不同的解可以组合并还原成问题或模型的本身。
抽象的意义是可以忽略不是求解过程中必需的 解。例如要用 电脑程序去模拟“人”,在描述了人的动作(饮食、思考、移动等)符合设计要求后(如可完整表达“人”在坐下时候的动作),其他“人”的细节( 躯干、 器官、细胞活动乃至 人际关系)都可以忽略,以集中设计需要的功能,并减低程序的 复杂度。
为了使抽象的成品(算法)不会出现问题,要注意抽象时是否漏掉重要特微。