请设计类,描述一系列的几何图形,包括矩形,圆形,三角形。
- 这些图形都有面积,周长两种属性
- 这些图形,都可以被画出来(输出或打印出来,即都有一个draw方法)
请定义类,来描述以上几何图形,并考虑类中成员变量的访问权限,并提供必要的方法进行属性(成员变量的)访问。
package Geometry;
abstract class Graph {
private double perimeter;
private double area;
public Graph(){}
public Graph(double perimeter, double area) {
this.perimeter = perimeter;
this.area = area;
}
public void setPerimeter(double perimeter){
this.perimeter = perimeter;
}
public void setArea(double area) {
this.area = area;
}
public double getPerimeter() {
return perimeter;
}
public double getArea() {
return area;
}
public void draw() {
System.out.println("原始图形");
}
}
class Rectangle extends Graph {
public Rectangle(double perimeter, double area) {
super(perimeter, area);
}
@Override
public void draw() {
System.out.println("打印矩形");
}
}
class Circle extends Graph {
public Circle(double perimeter, double area) {
super(perimeter, area);
}
@Override
public void draw() {
System.out.println("打印圆形");
}
}
class Triangle extends Graph {
public Triangle(double perimeter, double area) {
super(perimeter, area);
}
@Override
public void draw() {
System.out.println("打印三角形");
}
}
public class Test {
public static void main(String[] args) {
Graph graph = new Rectangle(16,16);
graph.draw();
graph.setArea(20);
System.out.println(graph.getArea());
graph = new Circle(12.56,12.56);
graph.draw();
graph.setPerimeter(25.12);
System.out.println(graph.getPerimeter());
graph = new Triangle(12,6);
graph.draw();
}
}