题目要求:定义一个形状抽象类Shape,以该抽象类为父类派生出圆形子类Circle和矩形子类Rectangle。请完成代码的编写,Shape类含有一个成员变量name,方法含有一个有参构造方法和两个抽象方法getArea()、getLength()。圆形子类Circle和矩形子类Rectangle继承父类Person,并构造有参的构造方法以及重写父类getArea()、getLength(),并使用父类引用指向子类对象访问子类的方法。
问题分析:本问题的核心就是在于抽象类中抽象方法的定义方法以及子类继承父类的方法并重写父类中的抽象方法,并通过父类引用指向子类对象访问子类的方法。
算法设计:第一步,创建父类Shape,初始化成员变量name,构建有参构造方法;第二步,创建圆形子类Circle并继承父类Shape,构建有参构造方法并重写父类两个抽象方法getArea()、getLength();第三步,创建矩形子类Rectangle并继承父类Shape,构建有参构造方法并重写父类两个抽象方法getArea()、getLength();第四步,父类引用指向子类对象访问子类的方法。