java 定义一个图形类及其子类(三角形类和矩形类),分别计算其面积和周长。
package ListSixTen;
abstract class Shape {
public abstract double area();
public abstract double perimeter();
}
package ListSixTen;
class Rectangle extends Shape{ //矩形
private double wide; //宽
private double longs; //长
public Rectangle(){
}
public Rectangle(double wide,double longs){
super();
this.wide=wide;
this.longs=longs;
}
public void setWide(double wide){
this.wide=wide;
}
public double getWide(){
return wide;
}
public void setLongs(double longs){
this.longs=longs;
}
public double longs(){
return longs;
}
public double area() {
return this.longs*this.wide;
}
public double perimeter() {
return (this.longs+this.wide)*2;
}
}
package ListSixTen;
class Triangle extends Shape { //三角形
private double edgea;
private double edgeb;
private double edgec;
public Triangle(){}
public Triangle(double edgea,double edgeb,double edgec){
super();
this.edgea=edgea;
this.edgeb=edgeb;
this.edgec=edgec;
}
public double area(){
return this.edgea*this.edgeb/2;
}
public double perimeter(){
return this.edgea+this.edgeb+this.edgec;
}
public void setEdgea(double edgea){
this.edgea=edgea;
}
public double getEdgea(){
return edgea;
}
public void setEdgeb(double edgeb){
this.edgeb=edgeb;
}
public double getEdgeb(){
return edgeb;
}
public void setEdgec(double edgec){
this.edgec=edgec;
}
public double getEdgec(){
return edgec;
}
}
package ListSixTen;
public class TestDemo10 {
public static void main(String[] args) {
Shape rectangle = new Rectangle(10.5, 20.6);
Shape triangle = new Triangle(10.1, 20.2, 30.3);
Shape round = new Round(30.3) ;
System.out.println("矩形面积:" + rectangle.area() + ",矩形周长:" + rectangle.perimeter());
System.out.println("三角形面积:" + triangle.area() + ",三角形周长:" + triangle.perimeter());
}
}
结果:
矩形面积:216.3,矩形周长:62.2
三角形面积:102.00999999999999,三角形周长:60.599999999999994