抽象类的使用
import java.util.Scanner;
public abstract class Shape {
public abstract double area();
public abstract double length();
}
public class Rect extends Shape {
int a;
int b;
public Rect(int a, int b) {
this.a = a;
this.b = b;
}
@Override
public double area() {
// TODO Auto-generated method stub
return a*b;
}
@Override
public double length() {
// TODO Auto-generated method stub
return 2*(a+b);
}
}
public class Tri extends Shape {
int a, b, c;
public Tri(int a, int b, int c) {
this.a = a;
this.b = b;
this.c = c;
}
@Override
public double area() {
double p = (1.0/2)*(a+b+c);
return (Math.sqrt(p*(p-a)*(p-b)*(p-c)));
}
@Override
public double length() {
// TODO Auto-generated method stub
return a+b+c;
}
}
public class Main {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
Shape aa = new Rect(10,20);
Shape bb = new Tri(3, 4, 5);
System.out.println(aa.area());
System.out.println(aa.length());
System.out.println(bb.area());
System.out.println(bb.length());
}
}