首页 理论教育信息系统开发方法与实践教程-类的重载应用与错误避免

信息系统开发方法与实践教程-类的重载应用与错误避免

【摘要】:类是一组具有相同数据结构和相同操作的对象的集合。灵活运用方法重载,可以满足同一类的不同对象多样化的要求。通过方法重载,可以满足形状的多种求面积的算法。但如果方法重载使用不当,程序就会出错。使用方法重载时,参数的名称和返回类型不参与比较。抽象类的声明如下所示:

类是一组具有相同数据结构和相同操作的对象的集合。类是对象的抽象,它将一组数据属性和在数据上的一组合法操作抽象封装。类好比是一个对象模版,基于类就可以生成多个具有不同属性值的对象。在类的定义中,可以为某个属性指定一个值,作为它的默认值。

例如销售订单是记录对客户销售项目或服务的交易记录,可以建立一个销售订单类。销售订单类具有相同的属性,例如订单号、订单日期等;也具有相同的操作,如计算订单总数,不同的销售订单可以通过订单号的属性值进行区分。

1.类的声明

类的声明通过class关键字来实现。声明的同时,需要在类体中定义该类的属性、方法。下面通过一个例子来讲解。

这个例子定义了一个形状(Shape)类,它有3个成员变量length、width、a和5个方法。关于方法的定义,读者一般都比较熟悉,有方法名、方法体、参数、返回类型,在此就不加赘述。这里比较特殊的是,多个方法具有相同的名字,类的定义是否会出错呢?

从上述对Shape类的声明中,可以获取以下信息:

1)类的成员变量既可以是基本数据类型,例如float与int,也可以是类类型,例如另外定义的一个类——Rectangle类。类的变量还可以是类变量,即用static修饰。(www.chuimin.cn)

2)类体中可以有构造方法。构造方法是一种特殊的方法,即构造方法的名字和类名完全相同,没有任何返回类型。构造方法用于建立对象,如果类体中没有建立构造方法,就会调用系统默认的构造方法。

3)类体中的方法可以使用重载。重载是指多个方法具有相同的名字,但是参数列表必须不同(参数个数不同、类型不同或者个数和类型都不同)。灵活运用方法重载,可以满足同一类的不同对象多样化的要求。例如,都是Shape类,都有求面积的功能,但是不同形状的物体求面积的方法不一样。通过方法重载,可以满足形状的多种求面积的算法。但如果方法重载使用不当,程序就会出错。使用方法重载时参数的名称和返回类型不参与比较

2.抽象类

抽象类又叫抽象基类,在定义的时候使用abstract关键字标记的一般类。可包含一般类所包含的所有特性,例如属性、方法。另外还包含一个很特殊的方法,即抽象方法(这些方法基本上是没有执行代码的函数标题,而派生于该类的类就必须提供执行的代码),但它不能被实例化,主要用在类的定义和部分实现,所以需要在扩充类中完整地扩充并实现功能。

抽象类的声明如下所示: