定义形状类,具有边长属性,以及计算面积的方法。
等边三角形,正方形,菱形继承形状类,用多态实现计算形状的面积;
Main方法测试,计算不同形状的面积
//形状类
public class Shape {
static double side;// 边长
public Shape(double side) {
super();
this.side = side;
}
public double getSide() {
return side;
}
public void setSide(double side) {
this.side = side;
}
public double Perimeter() {
return 1;
}
}
//三角形类
public class Triangle extends Shape {
public Triangle(double side, double height) {
super(side);
// TODO Auto-generated constructor stub
this.height = height;
}
double height;
public double Perimeter() {
return side * height / 2;
}
//正方形类
public class Square extends Shape {
public Square(double side) {
super(side);
}
public double Perimeter() {
return side * side;
}
}
//菱形类
public class Diamond extends Shape {
public Diamond(double side, double height) {
super(side);
// TODO Auto-generated constructor stub
this.height = height;
}
double height;
public double Perimeter() {
return side * height;
}
}
//测试
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Shape s = new Shape(1); //括号里的数字是设置边长
System.out.println("边长为 " + s.getSide());
Triangle t = new Triangle(2, 2);
System.out.println("三角形边长为 " + t.getSide());
System.out.println("三角形面积为 " + t.Perimeter());
Square sq=new Square(3);
System.out.println("正方形边长为 " + sq.getSide());
System.out.println("正方形面积为 " + sq.Perimeter());
Diamond d=new Diamond(4,2);
System.out.println("菱形边长为 " + d.getSide());
System.out.println("菱形面积为 " + d.Perimeter());
}
}