久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    對于面向對象中多態的理解

     斗進館 2014-03-23
                   經典解釋是:使用了對象就叫基于對象,基于對象的基礎上增加了繼承從而變成了面向對象。

    基于對象的最大特點就是封裝,至于private,protected,public,并不是基于對象語言的必須要求。同時應該注意到的是,封裝對于應用本身并沒有提供太大的幫助;換句話說封裝僅僅改變了方法的表達形式,除了析構函數能夠提供一些資源安全上的保證,當然java沒有析構函數。比如某些網絡應用,包裝了socket,然而必須的accept,listen,connect,read,write還是需要你自己去調用,只不過調用方式有所變化而已;更麻煩的是處理錯誤,可能的錯誤你必須完全接管,那就需要對問題本身有很深入的了解。基于對象讓你不容易犯錯誤,但是不能改變對問題本身的理解。于是出現了面向對象。
    繼承,多態只是它的特點而已,一種表象。而關鍵優越性在于它可以改變對問題的認識。比如處處可見的畫圖的例子,p.Draw(),就能畫出一個形狀,都是Draw()方法,但是可以根據p的不同,動態選擇。無可否認,這個是多態性的優越性的例子。然而繼承又如何呢,可以這樣說,如果不使用多態,繼承就沒有意義了。因為沒有多態,繼承事實上導致了較高層次的包裝而已,與基于對象相同,它不能改變對問題本身的理解。很多時候繼承被包裹所代替,COM的對象重用,就是典型的包裹,不過它叫聚集而已。類層次越深管理越困難。
    面向對象提供了極大的靈活性,然而作為一個概念,外延太豐富,反而不容易把握。看看JFC的文檔,實在太靈活了,感覺上這樣那樣幾個東西拼合起來,窗口就可以做成了。事實卻不是如此,你必須去了解layer,了解listener,了解很多東西,然后按照固定的規則進行拼裝才能達到效果。簡單說,看看javadoc的JFC文檔,很難學會如何去實現一個可用的窗口應用。這一點明顯比不上VB,其實這就和使用面向對象方法是為了接口易用性這一個基本原則背離了。外延被擴大化到難以接受的規模,這是使用面向對象方法很容易犯的毛病。而設計模式提供了一些方法緩和這些矛盾,比如用靜態函數創建對象,私有構造,使得對象不能被任意創建,這就大大壓縮了這些對象的外延。簡單看看MessageDigest,可能在內部有md2,md4,md5,sha1的類供我創建對象,但是這些我都不讓你看到,你只要知道一個MessageDigest就足夠了,免得產生誤會。


    面向對象:
    OO=Objects+Classes+Inheritance + Communication With messages
    那還是教科書上說的,
    多態,解釋就是一個方法被多次構造,,經常出現在,繼承關系類(抽象類,接口)
    回憶一下接口使用 
    interface I_Test{
       public void Print (){}
    }
    class C_A implment I_Test{
       public void Print(){ System.out.println("C_A")}
    }
    class C_B implment I_Test{
       public void Print(){System.out.println("C_B")} 
    }

    再來看看class Test{
      public void main(){
      I_Test i= new C_A();
           i.Print(); //打印出C_A
       i= new C_B();
           i.Print();//打印出C_B
    }  
    //,"多態性是站在類的角度完成了接口與實現的分離",多態調用Print()方法,不知道能不能解釋這句話,個人是這樣一來理解的。

    我個人認為“多態”不單是對父子類,接口,抽象類的理解。。關鍵還是要對 protect,private正確使用中去體味。
    這樣才能更好隔離,綜合使用多態才會清晰。


    接口可以允許我們為一個類如何實現創建一個好的布局,這是因為接口給我們保證,當許多
    部件用同一個接口時,它允許我們很容易的交替變換使用同一個接口的部件,動態編程就變得
    容易了。
    相同的一個方法名,但要實現不同的功能的時候,也就是重載,這也多態中的一種。
    我覺得是多個類的內容結構想似,這時可以抽象出一個接口,這種實現這些類的時候就會自動繼承接口的方法,類的實現簡單的重寫一下接口的內容就好了。
    多態 :就是同一個接口,用不同的實例實現不同的功能。

    “多態性”這一概念涉及類的抽象機制,例如父類和子類的繼承,或者接口和其實現類。當某一類(屬于某個父類或接口)的多個對象接收到同一消息后,會產生不同的行為。例如一個指揮官向若干作戰單元(作戰單元是一個父類或接口)對象發出攻擊命令,不同子類型的作戰單元,例如坦克、飛機、火箭兵等都會以自己不同的攻擊行為還響應指揮官的命令。

    多態性往往用于面向對象中抽象和具體類的層次設計中,好處就在于提供系統的彈性,避免代碼的僵化。例如,可以增加一個新的子類而不需要修改原代碼,避免程序中的復雜的條件分析語句。也就是面向對象中的“對擴展開放、對修改封閉”的原則。


              

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 翘臀少妇被扒开屁股日出水爆乳| 精品国产午夜肉伦伦影院| 亚洲最大成人免费av| 亚洲欧美日韩成人综合一区| 99久久无色码中文字幕| 无码国内精品久久人妻| 亚洲午夜成人精品电影在线观看 | 免费无码又爽又刺激软件下载| 少妇人妻偷人精品系列| 国产成人综合欧美精品久久| 97成人碰碰久久人人超级碰oo| 东京一本一道一二三区| 亚洲国产午夜精品理论片妓女| 在线观看国产成人AV天堂| 亚洲欧洲自拍拍偷午夜色无码| 欧洲免费一区二区三区视频| 狠狠色丁香婷婷综合尤物| 99久久精品国产一区二区蜜芽| 欧美老人巨大XXXX做受视频| 亚洲爆乳精品无码AAA片| 在国产线视频A在线视频| 猫咪AV成人永久网站在线观看 | 无码A级毛片免费视频下载| 国产综合色在线精品| 久久久久久久久久久免费精品| 精品无码人妻一区二区三区| 狠狠五月深爱婷婷网| 自拍偷自拍亚洲精品播放| 欧美视频专区一二在线观看| 久久蜜臀av一区三区| 饥渴的少妇2中文字幕| 欧美综合婷婷欧美综合五月 | 在线观看国产成人AV片| 中文人妻av高清一区二区| 亚洲综合欧美色五月俺也去| 东京热大乱系列无码| 2019亚洲午夜无码天堂| 亚洲欧美综合精品二区| 精品人妻中文字幕av| 国产偷国产偷亚洲高清人| 久久99国内精品自在现线|