定义一个Shape基类,在此基础上派生出Rectangle和Circle,二者都有GetArea()函数计算对象的面积。使用Rectangle类创建一个派生类Square。定义3个类的对象如下所示:
float r,l,w ,a; Scanner scanner =new Scanner(System.in); r=scanner.nextInt(); l=scanner.nextInt(); w=scanner.nextInt(); a=scanner.nextInt(); Shape sp1 = new Circle(r); Rectangle sp2 = new Rectangle(l, w); Square sp3 = new Square(a);
分别输出3者的面积。
从标准输入中输入圆的半径、矩形的长宽和正方形的边长,并输出面积。
输入: 5 4 6 5 输出: 78.5 24 25
import java.util.*;
class Shape {
public Shape() {
};
public float GetArea() {
return -1;
}
}
class Circle extends Shape {
float r;
Circle(){
}
Circle(float r){
this.r=r;
}
public float GetArea() {
return (float)3.14*r*r;
}
}
class Rectangle extends Shape {
private float itsWidth, itsLength;
Rectangle(){
}
Rectangle(float l,float w){
itsLength = l;
itsWidth = w;
}
public float GetArea() {
return itsLength * itsWidth;
}
public float getItsWidth() {
return itsWidth;
}
public float getItsLength() {
return itsLength;
}
}
class Square extends Rectangle {
public Square(float len) {
super(len, len);
}
}
public class Main {
public static void main(String[] args) {
float r,l,w ,a;
Scanner scanner =new Scanner(System.in);
r=scanner.nextInt();
l=scanner.nextInt();
w=scanner.nextInt();
a=scanner.nextInt();
Shape sp1 = new Circle(r);
Rectangle sp2 = new Rectangle(l, w);
Square sp3 = new Square(a);
System.out.println((float)sp1.GetArea());
System.out.println((float)sp2.GetArea());
System.out.println((float)sp3.GetArea());
}
}