You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pangyaxuan
85717058d7
上传文件至 'W5'
package w5;
// 基础题:Shape类及其子类
abstract class Shape {
public abstract void draw();
}
class Circle extends Shape {
private double r;
public Circle(double r) {
this.r = r;
}
@Override
public void draw() {
System.out.println("绘制圆形,半径:" + r);
}
}
class Rectangle extends Shape {
private double width;
private double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
@Override
public void draw() {
System.out.println("绘制矩形,宽:" + width + ",高:" + height);
}
}
// 工具类
class ShapeUtil {
public static void drawShape(Shape s) {
s.draw();
}
}
// 主类
public class PolymorphismDemo {
public static void main(String[] args) {
System.out.println("=== 基础题测试 ===");
// 测试Shape类
Shape circle = new Circle(5);
Shape rectangle = new Rectangle(4, 6);
ShapeUtil.drawShape(circle);
ShapeUtil.drawShape(rectangle);
}
}
1. 任务拆解与思路辅助
(1)基础题:Shape 类与多态实现
核心思路拆解:
抽象父类Shape:定义抽象方法draw(),体现封装思想,统一图形绘制接口。
子类Circle、Rectangle:继承Shape并重写draw(),实现多态的核心前提(子类重写父类方法)。
通用方法drawShape(Shape s):利用父类引用指向子类对象的多态特性,统一调用不同图形的draw()方法。
关键语法提示:
抽象方法定义需加abstract,抽象类不能实例化;
子类重写方法需保证方法名、参数列表、返回值与父类完全一致,且访问权限不能更严格。
逻辑校验建议:先设计类的继承结构,再思考如何通过多态实现统一调用,避免一开始直接写代码
|
2 weeks ago |
|
W4
|
上传文件至 'W4'
|
3 weeks ago |
|
W5
|
上传文件至 'W5'
|
2 weeks ago |
|
README.md
|
Initial commit
|
1 month ago |
|
W1.zip
|
上传文件至 ''
|
1 month ago |
|
W2
|
添加 'W2'
|
1 month ago |
|
W3
|
添加 'W3'
|
4 weeks ago |
|
hello wo r l d
|
添加 'hello wo r l d'
|
1 month ago |
|
屏幕截图 2026-03-08 225727.png
|
上传文件至 ''
|
2 weeks ago |