6.3.3 程序实例

6.3.3 程序实例

【例6-2】方法重载。

img222

程序运行结果为:

img223

img224

【例6-3】要求设计一个Shape形状类,再设计Shape类的两个子类:一个是椭圆Ellipse类,另一个是矩形Rectangle类。每个类都包括若干成员变量和方法,但每个类都有一个draw()方法,该方法中用输出字符串表示画图。

img225

img226

img227

程序运行结果为:

img228

【程序说明】

1)类Shape中定义了所有子类共同的成员变量lineSize(线宽),椭圆类Ellipse和矩形类Rectangle在继承超类成员变量的基础上,又各自定义了自己的成员变量。

2)超类Shape中定义了画图方法draw(),子类Ellipse和子类Rectangle中由于各自形状不同,画图方法draw()也不同,所以子类Ellipse和Rectangle中重新定义了画图方法draw()(即覆盖了超类的draw())。

注意:子类覆盖超类方法时,参数个数和参数类型必须相同。