多態

多態主要分爲兩個方面:

·方法的多態性:重載與覆寫

          |- 重載:同一個方法名稱,根據不同的參數類型及個數可以完成不同的功能;

          |- 覆寫:同一個方法,根據操作的子類不同,所完成的功能也不同。

·對象的多態性:父子類對象的轉換。

          |- 向上轉型:子類對象變爲父類對象,格式:父類 父類對象 = 子類實例,自動;

          |- 向下轉型:父類對象變爲子類對象,格式:子類子類對象 = (子類) 父類實例,強制;


向上轉型:

public class Test {

         public static void main(String args[]) {

                   A a = new B() ;   //向上轉型

                   a.print() ;

         }

}

向下轉型:

public class Test {

         public static void main(String args[]) {

                   A a = new B() ;  // 向上轉型

                   B b = (B) a;       // 向下轉型

                   b.print() ;

         }

}

例: 多態方式計算圖形面積

public classGetArea {

       //定義計算圓面積的方法

      public float getAcreage(float r) {

             float area = 3.14f * r * r;

             return area;

       }      

       //定義計算矩形面積的方法

      public float getAcreage(float length,float width) {

             float area = length * width;

             return area;

       }

       //程序主方法

      public static void main(String[] args) {

             GetArea getArea = newGetArea();      //創建本類對象

             float roundArea =getArea.getAcreage(4); 

                                                                                  //獲取半徑爲4的圓的面積

             float rectangle =getArea.getAcreage(5.3f, 6.5f);

                                                                                     //獲取指定長與寬的矩形面積

             System.out.println("圓的面積爲:"+roundArea);   //輸出圓的面積

             System.out.println("矩形的面積爲:"+rectangle); //輸出矩形的面積

       }

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章