java 高手帮帮我吧!3.4

来源:百度知道 编辑:UC知道 时间:2024/07/03 00:55:04
请设计一个软件包。要求该软件包至少拥有三角形类、正方形类、圆类和正五边形类。每个类都要具有构造方法,而且可以构造任意的一般图形。例如:要求通过三角形类的构造方法可以创建在任意位置上的一般三角形。要求每个类都含有计算该图形的周长的成员方法和计算的面积的成员方法。然后编写一个程序,分别创建这些类的实例对像,并输出这些实例对像的周长和面积。在创建这些实例对象时,构造方法的调用参数值可以自行设计!

参考代码,有什么不足请指出

  =======================================================

  package test;

  public abstract class Shape {
  abstract float area();
  abstract float perimeter();
  }

  class Pos {
  float x,y;

  Pos(){
  x=0;
  y=0;
  }

  Pos(float x, float y){
  this.x=x;
  this.y=y;
  }

  public float getX() {
  return x;
  }

  public void setX(float x) {
  this.x = x;
  }

  public float getY() {
  return y;
  }

  public void setY(float y) {
  this.y = y;
  }
  }

  class Triangle extends Shape { //三角形
  private Pos ptA, ptB, ptC; //三个顶点

  Triangle(){
  this(null,null,null);
  }

  Triangle(Pos a, Pos b, Pos c) {
  if(a==null || b==null || c==null){
  ptA=new Pos();
  ptB=new Pos(1,0);
  ptC=new Pos(0,1);
  return