创建一个图形父类Shape,该类中有1个抽象方法Area(),两个派生类圆形类Cirle,矩形类Rectangle,在派生类中重写抽象方法Area()。创建一个测试类Test,输出圆和矩形的面积。
三个类的写法可以参考下:
public abstract class Shape {
public abstract double Area();
}
public class Circle extends Shape{
int r;
public Circle(int r) {
this.r = r;
}
@Override
public double Area() {
return Math.PI*r*r;
}
}
public class Rectangle extends Shape {
int a;
int b;
public Rectangle(int a, int b) {
this.a = a;
this.b = b;
}
@Override
public double Area() {
return a*b;
}
}
你这都分析明白了啊,你是要代码吗
如有帮助,请采纳。点击我回答右上角【采纳】按钮。
public abstract class Shape {
public abstract double Area();
}
public class Circle extends Shape{
private int r;
public Circle(int length) {
this.r = length;
}
@Override
public double Area() {
return Math.PI*r*r;
}
}
public class Rectangle extends Shape {
private double a;
private double b;
public Rectangle(double a, double b) {
this.a = a;
this.b = b;
}
@Override
public double Area() {
return a*b;
}
}
public class ShapeTest {
public static void main(String[] args) {
Circle c=new Circle(3);
Triangle t=new Triangle(3,4);
System.out.println("圆的面积:"+c.Area());
System.out.println("矩形面积:"+t.Area());
}
}
package mianji;
public abstract class Shape {
public abstract void Area();
}//////
package mianji;
public class Cirle extends Shape {
int r = 2;
double l = 3.14;
@Override
public void Area() {
// TODO Auto-generated method stub
System.out.println("圆的面积:"+lrr);
}
}
/////
package mianji;
public class Rectangle extends Shape {
int chang =2;
int kuan =2;
@Override
public void Area() {
// TODO Auto-generated method stub
System.out.println("矩形的面积"+chang*kuan);
}
}
///////////
package mianji;
public class Test {
public static void main(String[] args) {
Shape a =new Cirle();
Shape b =new Rectangle();
a.Area();
b.Area();
}
}