對Java物件導向中多態的理解

來源:互聯網
上載者:User

標籤:xtend   class   end   類對象   round   幾何   void   int   sys   

理解的要點:多態意味著父親的變數可以指向子類對象

 物件導向程式設計的三大支柱是封裝、繼承和多態

封裝對外把相應的屬性和方法實現的細節進行了隱藏。繼承關係使一個子類繼承父親的特徵,並且加上了一些新的特徵。子類是它的父親的特殊化,

每一個子類的執行個體都是其父親的執行個體,但是反過來就不成立。例如:每個圓都是一個幾何對象,但並非每一個幾何對象都是圓。因此,總可以將子類

的執行個體傳給需要父親型的參數。考慮如下的代碼。

 

class Person{

   String name = "John";

    public void 談生意(){
          System.out.println("談生意");

   }

}

class SuperMan extends Person{

     String name = "superMan";

     public void 談生意(){

          System.out.println("談幾個億的大單子");

     }

    public void fly(){

       System.out.println("超人飛出去救人");

    }

}

 

public class Demo1{

    public static void main(String [] args){
   

         Person p = new SuperMan();    //父親引用指向子類對象 父類引用指向子類對象就是向上轉型

        System.out.println(p.name);      

        p.談生意();

        SuperMan sm = (SuperMan)p; //向下轉型

   }

 

}

 綜上分析:使用父類對象的地方都可以使用子類對象。這就是通常所說的多態(polymorphism),它源於希臘文字,意思是“多種形式”)。簡單來說,對態

意味著父親型變數可以引用子類型的對象。

對Java物件導向中多態的理解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.