# 5.5 代码复用

我们可以把编写的代码当成一种资源，并对这种资源近一步抽象。

程序代码本身是一种用来表达计算的“资源”，我们可以使用函数等方法对代码赋予更高级别的定义。通过以上这两个角度，我们实现了代码的资源化和代码的抽象化。对同一份代码在需要时被重复使用，这样就构成了代码复用。而代码复用是需要我们将代码进行抽象才能达到的效果。

概念不太好理解，我们看一下具体的程序设计的思想。

在不同的程序设计语言中，都有代码复用的相关功能。一般来说，我们使用函数和对象这两种方式来实现代码复用。我们可以认为这两种方法是实现代码复用的方法，也可以理解为函数和对象是对代码进行抽象的不同级别。

我们介绍过函数，函数能够将一段代码赋予相关的名字。它实现了在代码层面对函数或者对功能的一种抽象。我们说函数在代码层面建立了初步的抽象，但这种抽象级别比较低它只是将代码变成了一个功能组

而对象是通过两个非常重要的概念——属性和方法，它能够将一组变量甚至一组函数在函数基础之上近一步进行抽象。

对于代码复用，我们只需要记住，我们可以使用函数或者对象通过封装将功能近一步的抽象，对于程序员来讲，可以通过这种高层次的抽象来完成一些更高层次的功能设计。
