3.1.4 使用多个构造函数

大多数情况下可以用多种方式创建对象。为了适应这种情况,你需要提供多个构造函数。例如,请看Count类:

一方面,我们可以初始化属性count为0,实现这一点很简单,即可以在一个构造函数中初始化count为0,如下所示:

另一方面,我们可以传递一个初始化参数,从而可以设置count为其他数字:

这叫作重载方法(重载适用于所有方法,不只是构造函数)。大部分的面向对象语言都提供了重载方法的功能。

重载方法

重载可以让程序员重复使用相同的方法名,只要每次方法签名不同即可。方法签名包含了方法名以及参数列表(如图3.1所示)。

图3.1 签名的组成

所以,以下所有方法均拥有不同的签名:

签名

方法签名可能包含返回值类型,也可能不包含返回值类型,这取决于不同的语言。在Java和C#中,返回值类型并不属于签名的一部分。例如,以下代码即使返回值类型不同,也不能通过编译: ...

Get 面向对象的思考过程(原书第5版) now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.