面向對象三大特性


                   Java面向對象編程有三大特性,它們是封裝、繼承和多態。

 

            封裝:

 

                   字面上來說就是將一個東西包裹起來,這樣會掩飾掉內部的細節。怎么樣?這么一說是不是有點想法。

 

                   將類封裝起來,只提供想提供的方法接口,而不需要提供具體實現細節,這樣一來使得程序更加健壯。

 

                   另一方面比方說項目做到一半換人了,老板現在要求吧代碼改了,有了封裝之后,你完全不用管前人寫的爛代碼,只需要給出必須              

           的接口方法,就可以自己寫自己的了,修改方便。

 

                   怎么封裝呢?使用訪問修飾符。還記得類的訪問修飾符么,只能寫public或者默認不寫。

 

                   在類里面可以使用public、protected、默認不寫或者private。這四個修飾符的訪問權限越來越低。

 

                   還有一種方法,使用內部類。使用內部類能夠更好的完成封裝,有關內部類的詳細介紹,請看下篇文章。

 

             繼承:

 

                    繼承很明顯就是從一個已有的類那得到一些東西,能夠很好的實現代碼的重用性。

 

                    被繼承的類稱之為父類或者超類,繼承父類的類稱為子類。Java中所有類都是Object類的子類。

 

                    另外JAVA中只允許單繼承,這樣一來避免了多繼承帶來的代碼過度耦合的問題。

 

                    雖然不能多繼承,但是java中可以實現多個接口,來實現功能的擴展。

 

             多態:

 

                    指的是子類對象可以賦值給父類變量,但運行是仍表現出子類的行為特征,這意味着同一個類型的對象在執行同一個方法時,可以                 

             表現出多種行為特征。

 

                    簡單來說,就是程序中同名的不同方法。

 

                    那么,怎么實現多態呢?

 

                    例如,可以通過子類對父類方法的覆蓋實現,還可以通過一個類中方法的重載,還可以通過將子類的對象作為父類的對象實現多                 

           態。

 

                    子類將父類方法覆蓋,指子類繼承了父類的方法,對方法名、參數和類型不做修改,而僅僅改動方法的實現。

 

                    這時候調用被覆蓋的父類字段和方法時,需使用super關鍵字。但需要注意,父類中聲明為static、final的方法不能被覆蓋。

 

                    而且聲明為final的類的所有方法不允許被覆蓋。

 

                    另一種實現多態的方法,在類中定義同名但參數不同的方法,包括參數類型不同、參數個數 不同,即方法的重載來實現多態。簡單             

             的例子:

 

                                                                                                   run(int  i){}

                                                                                                   run(char c){}

                                                                                                   run(int i,char c){}

 

                     還可以通過對象引用實現多態,具體含義指引用型變量可以指向不同類型的對象

 

                     舉個例子,公司里有職員和管理兩類人,但是管理本身也是職員,也就是管理類繼承自職員類。

 

                     對於職員類型變量不僅可以表示職員還可以表示管理類對象。

 

                    多態大大提高了程序的抽象程度,降低了類和程序模塊之間的耦合性,也提高了類模塊的封閉性。

 

                    由於小編水平有限,如有不足,還請不吝賜教!!!此處也是重點,記下記下。微信搜索關注油墨山公眾號,獲取更多文章資訊!!!


 

                                                        ◆◆油墨未干,為何停下雙手!◆◆


 

感謝關注!

微信號:youmoshan


免責聲明!

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



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