介面定义行为.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
介面定义行为

匿名內部類別 在JDK8中,如果變數本身等效於final區域變數,就可以不用加上final關鍵字 因此,圖7.8的程式碼,在JDK8中並不會發生編譯錯誤 使用enum列舉常數 參數接受的是int型態,這表你可以傳入任何的int值,因此不得已地使用default,以處理執行時期傳入非定義範圍的int值 使用enum列舉常數 從JDK5之後新增了enum語法,可用於定義列舉常數: 使用enum列舉常數 解決需求變化 事先的設計也有可能因為需求不斷增加,而超出原本預留之彈性 老闆又開口了:不是所有的人都會游泳啊!有的飛機只會飛,不能停在海上啊! … 解決需求變化 解決需求變化 解決需求變化 解決需求變化 解決需求變化 解決需求變化 這一連串的修改,都是為了調整程式架構,這只是個簡單的示範,想像一下,在更大規模的程式中調整程式架構會有多麼麻煩,而且 …. 解決需求變化 也許老闆又想到了:水裡的話,將淺海游泳與深海潛行分開好了! … 解決需求變化 解決需求變化 解決需求變化 需求不斷變化,架構也有可能因此而修改,好的架構在修改時,其實也不會全部的程式碼都被牽動,這就是設計的重要性 解決需求變化 解決需求變化 過像這位老闆無止境地在擴張需求,他說一個你改一個,也不是辦法,找個時間,好好跟老闆談談這個程式的需求邊界到底在哪吧! … 介面的預設 在Java中,使用interface來定義抽象的行為外觀,方法要宣告為public abstract,無需且不能有實作 介面的預設 認證考試上經常會出這個題目: 「請問你執行結果為何?」這個問題本身就是個陷阱,根本無法編譯成功 … 介面的預設 在interface中,可以定義常數: 介面的預設 想想看,如果將上面這個程式改為以下,哪個在維護程式時比較清楚呢? 介面的預設 在interface中,也只能定義public static final的列舉常數 介面的預設 在介面中列舉常數,一定要使用=指定值,否則就會編譯錯誤: 介面的預設 如果有兩個介面都定義了某方法,而實作兩個介面的類別會怎樣嗎? 介面的預設 介面的預設 在設計上,你要思考一下:Some與Other定義的execute()是否表示不同的行為? 如果表示相同的行為,那可以定義一個父介面 … 匿名內部類別 經常會有臨時繼承某個類別或實作某個介面並建立實例的需求,由於這類子類別或介面實作類別只使用一次,不需要為這些類別定義名稱 … 匿名內部類別 匿名內部類別 假設你打算開發多人連線程式,對每個連線客戶端,都會建立Client物件封裝相關資訊: 匿名內部類別 可以將Client加入或移除的資訊包裝為ClentEvent: 匿名內部類別 可以定義ClientListener介面,如果有物件對Client加入ClientQueue有興趣,可以實作這個介面: 匿名內部類別 匿名內部類別 在JDK8出現前,如果要在匿名內部類別中存取區域變數,則該區域變數必須是final,否則會發生編譯錯誤: 匿名內部類別 必須宣告numbers為final才可以通過編譯: 介面與多型 學習目標 使用介面定義行為 瞭解介面的多型操作 利用介面列舉常數 利用enum列舉常數 介面定義行為 老闆今天想開發一個海洋樂園遊戲,當中所有東西都會游泳 … 剛學過繼承? 介面定義行為 介面定義行為 介面定義行為 老闆說話了,為什麼都是魚?人也會游泳啊! 怎麼沒寫? 於是你就再定義Human類別繼承Fish...等一下!… 介面定義行為 Java中只能繼承一個父類別,所以更強化了「是一種」關係的限制性 如果今天老闆突發奇想,想把海洋樂園變為海空樂園,有的東西會游泳,有的東西會飛,有的東西會游也會飛 … 介面定義行為 老闆今天想開發一個海洋樂園遊戲,當中所有東西都會游泳。「所有東西」都會「游泳」,而不是「某種東西」都會「游泳」 「所有東西」都會「游泳」,代表了「游泳」這個「行為」可以被所有東西擁有,而不是「某種」東西專屬 介面定義行為 對於「定義行為」,在Java中可以使用interface關鍵字定義 介面定義行為 物件若想擁有Swimmer定義的行為,就必須實作Swimmer介面 介面定義行為 類別要實作介面,必須使用implements關鍵字,實作某介面時,對介面中定義的方法有兩種處理方式 實作介面中定義的方法 再度將該方法標示為abstract 介面定義行為 Anemonefish、Shark與Piranha繼承Fish 如果Human要能游泳呢? 介面定義行為 Submarine也有Swimmer的行為: 介面定義行為 介面定義行為 繼承會有「是一種」關係,實作介面則表示「擁有行為」,但不會有「是一種」的關係

文档评论(0)

wangyueyue + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档