//*假定每个形状又一个(X,Y)原点*/
 Point类
 public class Point
  { Private double myX;
    Private double myY;
    public Point(double x,double y)
        {myX=x;myY=y;}
    public Point()
      { my=0;myY=0;}
    public double getX()
      {return myX;}
    public double getY()
       {return myY}
    public void setPoint(double x,double y)
      {myX=x;myY=y;}   }
/*RGB颜色表示方法*/
 Public class Color
  { Private int blue;
    Private int green;
    Private int red;
   public Color(int r,int g,int b)
      {red=r;green=g;red=b;}
   public int getB()
    { return blue;}
   public int getG()
    {return  green;}
   public int getR()
     {return red;}
  public void setRGB(int r,int g,int b)
     {red=r;green=g;blue=b;}  }/*各种形状的抽象类*/ public abstract class Shape
   private Color color;
   private Point origin;
 
   protected Shape(Color col,Point org)
    { origin=new Point(org.getX(),org.getY());
      color=new Color(col.getR(),col.getG(),col.getB());
   }   protected Shape(Point org)
      {  Origin=new Point(org.getX(),org.getY());
         Color=new Color(0,0,0);
  }  protected Shape()
   {   Origin=new Point(0.0,0.0);/原点为(0,0)/
         Color=new Color(0,0,0);
    }  public abstract double area();
  public abstract double perimeter();  public Color getColor()
    {  return color;}
  public void setColor(Color col)
  { color.setRGB(col.getR(),col.getG(),col.getB());}
  pubilc Point getOrigin()
    { return origin;}
  public void setOrigin(Point org)
     {  origin.setPoint( org.getX(),org.getY(());
     }  1. public int getB()
    { return blue;}这中方法对于调用他的类来说有什么用处;
  2.Shape类中三个构造方法是实现什么功能的(第三个应该是初始话吧);
  3.public Color getColor()
    {  return color;}
   返回的是不是Color类型的三个颜色值啊?
本人是菜鸟,请高手们讲解的仔细一些,前两个问题如果讲的够详细的话每个问题可以追加200分。

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【zhangbin55661】截止到2008-07-24 09:12:50的历史汇总数据(不包括此帖):
    发帖的总数量:16                       发帖的总分数:330                      每贴平均分数:20                       
    回帖的总数量:5                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:15                       结贴的总分数:300                      
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:1                        未结的总分数:30                       
    结贴的百分比:93.75 %               结分的百分比:90.91 %                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    值得尊敬
      

  2.   

    1. public int getB()
        { return blue;}这中方法对于调用他的类来说有什么用处; 
    -----------------------------------------------------------
    因为blue声明是private,那外面使用时候是没有办法直接拿到blue的值,所以要写个get方法来得到他,这样就实现了所谓的封装。
    =-------------------------------------------------
    2.Shape类中三个构造方法是实现什么功能的(第三个应该是初始话吧); 
    ------------------------------------------------------------------
    protected Shape(Color col,Point org)
        { origin=new Point(org.getX(),org.getY());
          color=new Color(col.getR(),col.getG(),col.getB());
      }
    第一个是通过传过来的color和一个点来初始化当前的color,point  protected Shape(Point org)
          {  Origin=new Point(org.getX(),org.getY());
            Color=new Color(0,0,0);
      }
    第二个是初始化一个点。color默认为0.0.0.
      protected Shape()
      {  Origin=new Point(0.0,0.0);/原点为(0,0)/
            Color=new Color(0,0,0);
        } 
    第三个为初始化point,color为0.0.0.0.
    ----------------------------------------------
    3.public Color getColor()
        {  return color;} 
    -------------------------------
    返回一个颜色。
    然后通过返回的color的get,得到RGB
    -------------------------------------
    我表达能力不大行。。凑合看。
      

  3.   

    1. public int getB() 方法当然有好处,这样对你的color对象进行封装了之后,使用color的类就不用担心这个R G B是怎么来的,具有良好的隐蔽性
    2.第一个是用指定的颜色和点构造形状  第二个是用默认的颜色和指定的点的位置构造对象  第三个颜色和位置都使用默认值
    3.返回的就是一个color对象,从这个color对象中我们就可以知道R GB的值
      

  4.   

    1.public int getB() 的return blue 是对调用外部类 返回 他需要的值,这里是blue
    2.构造方法实现了重载,实现了2个构造,各自的构造是各个参数赋值并初始,第三个是默认的构造方法,初始化
    3.public Color getColor() 返回 color 
      

  5.   

    你这个代码的格式好丑啊,楼主先看看JAVA代码规范再写代码吧
      

  6.   

    假如你的 Color 类内部数据存储方法改变了(比如换作用一个 int 来存储 RGB 的值),那只需修改 getB() 等方法的内部实现方式,Color 类使用者不用修改任何代码。
    另:你那三个类在 java.awt 包及其子包里有现成的。