302班

          java突擊隊
          posts - 151, comments - 74, trackbacks - 0, articles - 14
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          類的繼承實例—Triangle

          Posted on 2007-04-07 22:12 停留的風 閱讀(630) 評論(0)  編輯  收藏 所屬分類: Java程序集合

          abstract class GeometricObject {
            private String color = "white";
            private boolean filled;
           
            protected GeometricObject()
            {}
           
            /** 顏色和填充 */
            protected GeometricObject(String color, boolean filled)
            {
              this.color = color;
              this.filled = filled;
            }
           
            /**顏色get方法 */
            public String getColor()
            {
              return color;
            }
           
            /** 顏色的set方法*/
            public void setColor(String color)
            {
              this.color = color;
            }
           
            /** 填充的定義 */
            public boolean isFilled()
            {
              return filled;
            }
           
            /** 建立fill的set方法 */
            public void setFilled(boolean filled)
            {
              this.filled = filled;
            }
            public abstract double getArea();
            public abstract double getPerimeter();
          }


          public class Triangle extends GeometricObject
          {
            private double side1=1.0;
            private double side2=1.0;
            private double side3=1.0;
            //無參構造器
            public Triangle()
            {
             this(1.0,1.0,1.0,"red",false);
            }
            public Triangle(double side1,double side2,double side3)
            {      
              this(side1,side2,side3,"red",false);  
            }
            //有參構造器
             public Triangle(double side1, double side2,double side3,String color,boolean filled)
            {
              super(color,filled);
              this.side1=side1;
              this.side2=side2;
              this.side3=side3;   
            }
            //定義Side1的Get和Set方法
            public double getSide1()
            {
             return side1;
            }
            public void setSide1(double side1)
            {
              this.side1=side1;
            }
            //定義Side2的Get和Set方法
             public double getSide2()
            {
             return side2;
            }
            public void setSide2(double side2)
            {
              this.side2=side2;
            }
            //定義Side3的Get和Set方法
            public double getSide3()
            {
             return side3;
            }
            public void setSide3(double side3)
            {
              this.side3=side3;
            }
            //求面積
            public double getArea()
            {
              double p;
              p=(side1+side2+side3)/2;
              double s;
              s=Math.sqrt(p*(p-side1)*(p-side2)*(p-side3));
              return s;
            }
            //計算周長
            public double getPerimeter()
            {
              return (side1+side2+side3);
            }
            //定義toString文本說明
            public String toString()
            {
              return "Triangle: side1 = " + side1 + " side2 = " + side2 +" side3 = " + side3; 
            }
             public static void main(String[] args)
            {
                Triangle tr = new Triangle(3.6,5.8,3.5);
                System.out.println("The perimeter of Triangle is :"+tr.getPerimeter());
                System.out.println("The area of Triangle is :"+tr.getArea());
                System.out.println("The color of Triangle is :"+tr.getColor());
                System.out.println("The filled of Triangle is :"+tr.isFilled());
            }

          }

          主站蜘蛛池模板: 顺平县| 兰州市| 六枝特区| 许昌县| 宜川县| 永丰县| 南江县| 应城市| 东明县| 从江县| 当阳市| 汝南县| 漳州市| 平顺县| 巩留县| 瑞丽市| 梁山县| 塘沽区| 康马县| 吉林省| 吴旗县| 江都市| 伊宁县| 铁岭市| 会泽县| 长白| 五大连池市| 江都市| 鹰潭市| 湛江市| 会泽县| 弥渡县| 巴塘县| 林周县| 剑阁县| 县级市| 宜城市| 威海市| 北票市| 长武县| 芦山县|