Java物件导向程式设计.ppt

上传人:牧羊曲112 文档编号:5436115 上传时间:2023-07-06 格式:PPT 页数:28 大小:1.22MB
返回 下载 相关 举报
Java物件导向程式设计.ppt_第1页
第1页 / 共28页
Java物件导向程式设计.ppt_第2页
第2页 / 共28页
Java物件导向程式设计.ppt_第3页
第3页 / 共28页
Java物件导向程式设计.ppt_第4页
第4页 / 共28页
Java物件导向程式设计.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《Java物件导向程式设计.ppt》由会员分享,可在线阅读,更多相关《Java物件导向程式设计.ppt(28页珍藏版)》请在三一办公上搜索。

1、Java物件導向程式設計,國立善化高級中學蕭嘉民,Java的特性,自由軟體:學生可免費取得。解譯執行位元組碼,可在不同的平台上執行。電腦網路支援:系統物件可分散儲存於不同的電腦(像是運用RMI機制),充份利用電腦分散式處理的效能。具有C+語言的部分特性:Java捨棄了容易引起錯誤的指標、運算符過載、多重繼承等特性。,大綱,程式編譯與執行環境設定類別與物件繼承性Inheritance封裝性Encapsulation多型性Polymorphism多載性overloading覆蓋性Overriding,設定JAVA的工作目錄與環境變數,編輯系統變數Path,於變數值最後加入C:Program Fil

2、esJavajdk1.6.0_18bin,按下確定(路徑依實際安裝jdk版本不同,略有差異)。,類別與物件,屬性(Attribute):如飛機別之屬性:載客、掛載重、長、翼展、高、翼面積、空重、載重、可用載重、最大起飛重、最高速、巡航速、航程、實用升限、爬升、翼負荷。方法(Method):如:飛機別之方法:起飛、爬升、巡航、達導航,顯示油耗等。波音747是飛機物件,具有飛機別所定義的屬性與方法。,飛機圖片來源:維基百科,圖表設計:蕭嘉民,類別與物件的說明,程序導向與物件導向差異,炒泡麵是一種具有金門當地特色的小吃,製作方式分別以使用程序導向與物件導向兩種方式來描述作法。,程序導向,1.倒入2杯

3、250cc的水到鍋子中,並以火煮至沸騰。2.水沸騰,在碗裏把蛋攪伴後,蛋汁倒入鍋子中。3.蛋熟了後,將兩包味味麵放入鍋子中,並加以攪伴。4.一碗香茹肉躁(先行炒過),放入鍋子中與麵條一起炒。5.將韭菜2支切成小薄片,放入鍋中。6.將1把茼莪放入鍋中。7.將2匙沙茶醬加入鍋中,並攪伴均勻,蓋上鍋蓋約1分鐘即可。,物件導向,水處理好、雞蛋處理好、味味麵處理好、香茹肉躁處理好、韭菜處理好、茼莪處理好、沙茶醬處理好,蓋上鍋蓋約1分鐘即可。,物件的抽象化說明與實例,圖片源:維基百科,物件的抽象化說明與實例,地圖是抽象化的一種子,地圖是真實地形的抽象化結果,上面只需提供使用者所需的資訊(方向、距離、街道名

4、稱),如右上圖之街道地圖。右下圖之真實地形存在著巨細靡遺的資訊:如某個地方有幾棵樹(種、高)、幾棟建築物(高、日式風格、巴洛克風格)、幾條馬(寬、長、路名)、各式地形地物等等。,資料來源:取自Google地圖資料,範例程式1:實作如何由類別建立物件,物件導向設計繼承,物件導向設計繼承,物件導向程式實作方式,物件導向程式在實作上有兩種方式,分別是“is a”與“has a”,繼承是一種is a 或is a kind of的關係“is a”意義上為“是一種”“has a”:意義上為“有一個”,物件導向程式實作方式,class plane/飛機類別.public fighter extends pl

5、ane/is a:戰鬥機類別fighter繼承飛機類別 radar a_radar;/has a:戰鬥機類別fighter 包含的屬性missilea_missile;oil-box a_oilbox;,範例程式2:實作inheritance.java 類別繼承,物件導向設計封裝,減低了程式設計的複雜性維護物件存取的一致性與安全性在物件狀態隱藏的過程,程式只能使用一致的方法,來存取物件的內部資料或方法,以保障物件完整與安全。,範例程式3:實作daughter.java 說明封裝性,物件導向設計多型,多型是在繼承關係下,單一物件實體可以被宣告成多種型別多型是為了能開發出可擴充的程式,讓程式開發人

6、員在程式撰寫上更有彈性。多型在不同的情形下,扮演不同的角色,函式在執行的時候,面對不同的型別或物件能有自動相對應的操作及功能。Bicycle a_Bicycle=new Bicycle()使用腳踏車類別的方式,來看待物件a_Bicycle。Vehicle b_Bicycle=new Bicycle()使用交通工具類別的方式,來看待物件b_BicycleBicycle c_Bicycle=new Vehicle(KHS,摺疊車,black)建立物件,會造成程式編譯錯誤。從邏輯的觀點來看,如果把所有交通工具看成是腳踏車,這是不合理的。,範例程式4:實作Polymorphism.java多型性說明,

7、多型範例練習,物件導向設計多載overloading,多載,在原始碼中的同一段程式,可以對不同的資料型別或不同的class物件進行操作。如果沒有使用多載,程式必須為了處理不同的騎,必須寫出不同的類別方法。騎腳踏車、摩托車、馬,因為處理的訊息相異,動作就不同。class Person.void rideBicycle(Bicycle a_Bicycle)/騎腳踏車.void rideMotorcycle(Motorcycle a_Motorcycle)/騎摩托車.void rideHorse(Horse a_Horse)/騎馬.,物件導向設計多載overloading,class Person.

8、void ride(Bicycle a_Bicycle)/騎腳踏車.void ride(Motorcycle a_Motorcycle)/騎摩托車.void ride(Horse a_Horse)/騎馬.,使用多載概念後,Person類別有三個ride()類別方法,可使騎ride動作有一致對應方法,到底該執行一個,是依照傳入的參數型態(Bicycle、Motorcycle、Horse)來做判斷的。,範例程式5:實作範例程式Overloading.java多載,物件導向設計覆蓋verriding,覆蓋verriding,子類別透過繼承方式來取代父類別原有的類別方法,程式在執行過程中會執行子類別的方法,而不會執行父類別的方法,透過覆蓋方法,可提高程式的可用性與維持一致性的界面。,範例程式6:實作範例程式overriding_son.java覆蓋,謝謝各位指教,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号