java技術博客

          jsp博客
          數(shù)據(jù)加載中……
          java的多態(tài)
          /*  北大青鳥APTECH.
           *  版權所有
           
          */


          /**
           * 這個程序演示動態(tài)多態(tài)性的用法.
           * 
          @version 1.0 2005 年 5 月 20 日
           * 
          @author Michael
           
          */

          abstract class Shape {

              
          /** 存儲任何形狀的長. */
              
          protected double length;

              
          /** 存儲任何形狀的寬. */
              
          protected double width;

              
          /** 
               * 構造方法.
               * 
          @param num 傳遞至構造方法
               * 
          @param num1 傳遞至構造方法
               
          */

              Shape(
          final double num , final double num1) {

              
          /** 初始化變量. */
                  length 
          = num;
                  width 
          = num1;
              }


              
          /**
               * 抽象方法.
               * 
          @return double 值
               
          */

              
          abstract double area();
          }


          /**
           * 這個類重寫父類的方法.
           * 
          @version 1.0 2005 年 5 月 20 日
           * 
          @author Michael
           
          */


          class Square extends Shape {

              
          /** 構造方法.
               *
          @param num 傳遞至構造方法的參數(shù)
               *
          @param num1 傳遞至構造方法的參數(shù)
               
          */

              Square(
          final double num, final double num1) {
                  
          super(num, num1);
              }


              
          /**
               * 計算正方形的面積.
               * @return傳遞給構造方法的 length
               
          */


              
          double area() {
                  System.out.println(
          "正方形的面積為:" );
                  
          return length * width;
              }

          }


          /**
           * 這個類重寫父類的方法.
           * 
          @version 1.0 2005 年 5 月 20 日
           * 
          @author Michael
           
          */


          class Triangle extends Shape {

              
          /** 構造方法.
               *
          @param num 傳遞至構造方法的參數(shù)
               *
          @param num1 傳遞至構造方法的參數(shù)
               
          */

              Triangle(
          final double num, final double num1) {
                  
          super(num, num1);
              }


              
          /**
               * 計算三角形的面積.
               *
          @return double  傳遞給構造方法的length
               
          */


              
          double area() {
                  System.out.println(
          "三角形的面積為:" );
                  
          return (0.5 * length * width);
              }

          }


          /**
           * 這個類測試對象引用.
           * 
          @version 1.0 2005 年 5 月 20 日
           * 
          @author Michael
           
          */


          public class CalculateArea {

              
          /** 構造方法. */
              
          protected CalculateArea() {
              }


              
          /**
               * 這是 main 方法.
               * 
          @param arg 傳遞至 main 方法的參數(shù)
               
          */


              
          public static void main(final String[] arg) {
                  
          // 初始化變量
                  Shape fObj;
                  Square sqObj 
          = new Square(10 , 20);
                  Triangle trObj 
          = new Triangle(12 , 8);
                  fObj 
          = sqObj;
                  System.out.println(fObj.area());
                  fObj 
          = trObj;
                  System.out.println(fObj.area());
              }

          }

          posted on 2008-10-29 07:39 郭興華 閱讀(135) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網站導航:
           
          主站蜘蛛池模板: 寻乌县| 海晏县| 威远县| 普洱| 津南区| 阿荣旗| 富顺县| 大姚县| 保定市| 泸溪县| 威宁| 商河县| 正阳县| 松原市| 宜城市| 肃北| 司法| 香河县| 南昌县| 密云县| 牟定县| 大余县| 葫芦岛市| 海阳市| 关岭| 临湘市| 鞍山市| 高阳县| 驻马店市| 富川| 平定县| 扬州市| 红桥区| 利辛县| 拉孜县| 五原县| 龙南县| 顺昌县| 义马市| 凌云县| 昌江|