Java對象、類、消息和特性


                                                    面向對象編程基礎

•  對象

      對象object就是變量和相關的方法的集合,其中變量表明對象的狀態,方法表明對象所具有的行為。

      對象是有狀態(數據)和行為(功能)等內容的。例如:要說明一個學生,需要提供姓名、學號、出生日期、專業、興趣愛好等,這些用於描述對象的數據元素稱為對象屬性。而學生的行為會包括注冊、選課、考試等,這些表示對象可能產生的操作稱為對象的行為(或操作、方法)。

 

 

•  類

     類class中定義一類對象共有的變量和方法。把一個類實例化即生成該類的一個對象。

     類(class)是同一類型對象的抽象,對象是類的實例化。如,黃色的鋼筆、黑色的鋼筆等可以抽象出鋼筆類。類定義了每個屬於該類的對象的數據結構(即類的屬性或成員變量)以及由這些對象執行的操作或方法(即類的成員方法或操作)。如,人作為一個研究對象,其特征包括年齡,身高,體重等,這些可以看作對象的屬性。而 人的行為動作作為對象的動態特性可以看成是對象的成員方法,如吃、睡。

 

 

 

•  消息

    對象之間必須要進行交互來實現復雜的行為,用消息message的形式提供信息,消息包括:接收者,方法,參數。

 

 

                                                    面向對象的特性

•  封裝

   面向對象編程的核心思想之一就是將數據和對數據的操作封裝在一起。通過抽象,從具體的實例中抽取共同的性質形成一般的概念(即類)。

 

 

•  繼承

   繼承體現了一種先進的編程模式。子類可以繼承父類的屬性和功能,即繼承了父類所具有的數據和數據上的操作,可以增加子類獨有的數據和數據上的操作,也可以修改父類的數據和數據上的操作。

   通過對象、類,可以實現封裝encapsulation,通過子類則可以實現繼承。

   通過父類fatherclass和子類蘇北class,實現類的層次,可以從最一般的類開始,逐步特殊化定義一系列的子類。

   通過繼承實現了代碼發復用,使程序的復雜性線性地增長,而不是呈幾何級數增長。

 

 

•  多態

   多態是面向對象編程的又一重要特征。例如,班主任要求全班同學打掃衛生,而在執行打掃衛生任務時,有人掃地,有人灑水,有人擦玻璃。從軟件的角度看,多態是指操作名稱相同,但實現的功能不同。如計算面積可以同一使用area()方法,但是根據操作接受的參數不同,可以實現計算圓的面積,長方形的面積等等。Java中使用方法覆蓋、方法重載、接口等技術實現這種多態性。

   Java通過方法重寫和方法重載來實現多態。

   通過方法重寫override,一個類中可以有多個具有相同名字的方法,由傳遞給它們的不同個數的參數來決定使用哪種方法,這就是多態。

   通過方法重載,子類可以重新實現父類的某些方法,使其具有自己的特征。

 

 

•  抽象abstract與接口interface

   抽象化概念的生成是為了要降低程序版本更新后,在維護方面的負擔。

   使功能的提供者和功能的用戶能夠分開,各自獨立,彼此不受影響。

   為了達到抽象化的目的,需要在功能提供者與功能使用者之間提供一個共同的規范,及接口。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM