<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    工作小驛

    Ninja!

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      103 Posts :: 0 Stories :: 36 Comments :: 0 Trackbacks

        4節課中我們初步的了解到了一些面向對象的概念,和一些特性。例如封裝。這節課我們來進一步認識一下,這種思想。對了,在這里我說這是一種思想,是想問題的方法。即使沒有java,C++,smalltalk這樣的面向對象語言也有這種思想。其實這種思想在上世紀60年代就已經存在了。還有一個常見的誤區,不光是初學者,就是有些干了幾年的程序員也是這樣,以為用java寫東西就是面向對象,這都是錯誤的。

    那么面向對象到底是什么東西呢?能夠明確的給出概念非常少,但是我們可以分析一下。它與面向過程的思想做一個比較,面向過程是指,我們考慮問題時,以一個具體的流程(事務過程)為單位,考慮它的實現過程;面向對象是指,我們考慮問題時,把任何東西看做是對象,以對象為單位,考慮它的屬性及方法。

    好比一個木匠在做一把凳子,如果他是面向過程的木匠,他會想到制作凳子的過程。“先做什么呢?凳子腿?凳子板?用什么工具呢?”。如果他是一個面向對象的木匠,他會把所有的東西看做成對象,“凳子腿,凳子板兩個對象。凳子腿有屬性,長方體的,長度,寬度是多少厘米,有方法釘釘子。凳子板的屬性,正方形,邊長是多少厘米等等問題。”這樣的話,面向對象的木匠會依據這些條件。將一個凳子組裝在一起。最終目的是做成一個凳子,用什么思想方法去做,是值得研究的。

    通過剛才的例子,我們會有一種感覺,面向對象的木匠會對事務量化的分析,用“數學”的方法處理問題似的。好像他更具有進步意義。面向對象的思想也確實有著他的先進之處,它把世界上的所有事務看做成為對象,這樣的話更貼近于現實世界,這樣的話使得邏輯清晰,誰看報告的時候也喜歡看條理清晰的報告啊。這樣使得面向對象的軟件開發,成為上世紀90年代直到現在的主流開發技術。傳統開發方法存在問題

    1.軟件重用性差
          重用性是指同一事物不經修改或稍加修改就可多次重復使用的性質。軟件重用性是軟件工程追求的目標之一。誰愿意來來回回的寫一件事情呢。

    2.軟件可維護性差
          軟件工程強調軟件的可維護性,強調文檔資料的重要性,規定最終的軟件產品應該由完整、一致的配置成分組成。在軟件開發過程中,始終強調軟件的可讀性、可修 改性和可測試性是軟件的重要的質量指標。實踐證明,用傳統方法開發出來的軟件,維護時其費用和成本仍然很高,其原因是可修改性差,維護困難,導致可維護性差。

    3.開發出的軟件不能滿足用戶需要
          用傳統的結構化方法開發大型軟件系統涉及各種不同領域的知識,在開發需求模糊或需求動態變化的系統時,所開發出的軟件系統往往不能真正滿足用戶的需要。

    現在的面向對象的思想已經擴展到很多方面,如數據庫系統、交互式界面、應用結構、應用平臺、分布式系統、網絡管理結構、CAD技術、人工智能等領域。而且他指的是面向對象分析(OOA),面向對象設計(OOD),面向對象編程(OOP),這一套過程了。

     

    下面我們來看一下,經常用到的重要概念,也就是java語言的的OOP特性,這是對于OOP而言的,不含前面的OOAOOD的。因為是初學嘛,還沒有學到怎么分析和設計呢。JavaOOP有三大特性:封裝、繼承、多態。

    封裝的概念已經在4說過了,我們講的是,它用權限修飾符private使得屬性不能被外界訪問,像是人的五臟六腑怎么能讓人隨意的碰呢?人的這個屬性也是要封裝的。如有再不明白,請訪問我們的技術論壇 。

    說一下容易理解的繼承:

    當一個類是另一個類的特例時,這兩個類之間具有父子類的關系。子類繼承了父類的方法和屬性,就是說子類可以重用父類中的這部分代碼。比如:轎車是車的一個特例。轎車是車的子類。就是說,轎車繼承了車的一切特性。繼承用關鍵字extends表示。

    實踐:

    //這是基類

    public class Che {

                   private int wheel = 4;

                   public int getWheel() {

                      return wheel;

                   }   }

                         public class Jiaoche extends Che {

                   private String pinpai = "桑塔納";

                   public String getPinpai() {

                      return pinpai;

               }   }

                         public class Testche {

                   public static void main(String[] args) {

                      Jiaoche car = new Jiaoche();      

                      int wheels = car.getWheel(); //調用基類的方法

                      String Pinpal = car.getPinpai();//調用本身的方法

                      System.out.println("車有 "+wheels+" 個輪子");

                      System.out.println("轎車的品牌是 "+Pinpal);

               }   }

    上述例子源碼和附加練習源碼打包下載

    注意:java語言與C++不同只可以從一個父類繼承哦(單繼承)。

    還有就是最難理解的多態了,我們下次課講面向對象的多態性。

    posted on 2007-07-28 10:41 王君 閱讀(157) 評論(0)  編輯  收藏 所屬分類: J2SE
    主站蜘蛛池模板: 免费人成在线观看网站| 免费高清资源黄网站在线观看| 91网站免费观看| 亚洲中文字幕在线乱码| 亚洲综合激情五月色一区| 久久国产精品免费看| 亚洲精品国产成人片| 人妻仑刮八A级毛片免费看| 男女免费观看在线爽爽爽视频 | 婷婷精品国产亚洲AV麻豆不片 | 免费a级毛片无码a∨性按摩| 亚洲一级视频在线观看| 日韩午夜理论免费TV影院| 亚洲av伊人久久综合密臀性色| 国产精品99精品久久免费| 亚洲国产精品无码久久九九大片| 国产精品美女午夜爽爽爽免费| 久久精品国产精品亚洲毛片| 中文无码日韩欧免费视频| 免费一级毛片免费播放| h在线观看视频免费网站| 亚洲一级免费毛片| 国产亚洲人成A在线V网站| a级男女仿爱免费视频| 久久久久久亚洲精品| 国产区卡一卡二卡三乱码免费| 免费大片av手机看片| 亚洲毛片基地日韩毛片基地| 成全高清视频免费观看| 日韩一区二区三区免费播放| 亚洲中文字幕在线第六区| 精品国产免费观看久久久| 69av免费视频| 日本视频免费高清一本18| 一级中文字幕免费乱码专区| 亚洲日韩av无码中文| 亚洲无码视频在线| 中文字幕免费在线| 亚洲国产欧美国产综合一区 | 人人玩人人添人人澡免费| 特级做a爰片毛片免费看|