3類與對象——重拾Java

面向對象編程的3個特性編程

1 封裝性對象

面向對象編程核心思想之一就是將數據和對數據的操做封裝在一塊兒。經過抽象,即從具體的實例中抽取共同的性質造成通常的概念,好比類的概念。繼承

在實際生活中,咱們每時每刻都在與具體的實物打交道,例如咱們用的鋼筆,騎的自行車,乘坐的公共汽車等。咱們常常見到的卡車、公共汽車、轎車等都會涉及到如下幾個重要的物理量:可承載人數、運行速度、發動機的功率,耗油量、自重和輪子數目等。另外,還有幾個重要的功能:加速、減速、剎車和轉彎等。能夠把這些功能稱做是它們具備的方法,而物理量是它們的狀態描述,僅僅用物理量或功能不能很好地描述它們。在現實生活中,用這些共有的屬性和功能給出一個概念——機動車類。也就是說,人們常常談到的機動車類就是從具體的實例中抽取共同的屬性和功能造成的一個概念,那麼一個具體的轎車就是機動車的一個實例,即對象。一個對象將本身的數據和對這些數據的操做合理有效地封裝在一塊兒,例如每輛轎車調用「減速」改變的都是本身的運行速度。面向對象編程

2 繼承方法

繼承體現了一中先進的編程模式。子類能夠繼承父類的屬性和功能,即繼承了父類所具備的數據和數據上的操做,同時又能夠增添子類獨有的數據和數據上的操做。好比「人類」天然繼承了「哺乳類」的屬性和功能,同時又增添了人類獨有的屬性和功能。數據

3 多態生活

多態是面向對象編程的又一個重要特徵。有兩種意義的多態,一種是操做名稱的多態,即有多個操做具備相同的名字,可是這些操做所接受的消息類型必須不一樣。例如,讓一我的執行「求面積」操做時,他可能會問你求什麼面積。所謂操做名稱的多態性,是指能夠向操做傳遞不一樣消息,一邊讓對象根據相應的消息來產生必定的行爲。另外一種多態是和繼承有關的多態,是指同一個操做被不一樣類型對象調用時產生不一樣的行爲。例如,狗和貓都具備哺乳類的功能——「喊叫」。可是,狗操做「喊叫」產生的聲音是「汪汪....」,而貓操做「喊叫」產生的聲音是「喵喵....」消息

相關文章
相關標籤/搜索