《物件导向程式设计》PPT课件.ppt
《《物件导向程式设计》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《物件导向程式设计》PPT课件.ppt(31页珍藏版)》请在三一办公上搜索。
1、物件導向程式設計,課程定位:學習物件導向分析與設計,以UML與JAVA程式語言練習實作。課程大綱:物件導向觀念、定義與建立應用程式物件導向分析,規範問題的類別與物件的繼承、多型和介面的多重繼承與類別的關聯性Thread and Multi-ThreadJava SwingDesign Patten Concept,Object-oriented VS.Procedure-oriented,Object:”物件”,台語怎麼說?站在物件的觀點去寫程式。Procedure-oriented:先想Operation再想Data先考慮如何去做這件事情,中間過程需要那些data輔助。Object-orie
2、nted:先想Data再想Operation先想好有那些Data存在,再針對這些data會有那些動作在上面運作。,物件導向技術的三大觀念(1)-物件,定義:提供資料和處理資料程序的封裝(將變數與程序包裝在一起的集合體)如何從描述的問題中識別出可能物件?是否有【具體事物】:人、書、電腦、車子.【事件】:定購商品、借書、參加會議、旅遊.【位置】或【地方】或【結構】:座標、圖書館、長方形.英文句子中的【名詞】或【名詞子句】To be continue.,ex:請問下列哪寫是物件?哪些是屬性名稱或屬性值(狀態值)?5公尺,員工姓名,鐘錶,15公斤,訂購流程,血型,電腦,書,白色,蘋果,電話,圖書館,狗
3、,車子,MP3 Player,興趣。Ans:物件:鐘錶,訂購流程,電腦,書,蘋果,電話,圖書館,狗,車子,MP3 Player。屬性名稱或屬性值(狀態值):5公尺,員工姓名,15公斤,血型,白色,興趣。,物件導向技術的三大觀念(1)-物件,使用特徵來過濾物件:能夠保留資訊:意即資料(屬性)需要提供服務:如更改屬性的操作擁有共通的屬性:擁有共通的操作:本質的需求:需要取得其他物件資訊,定單需要取得客戶的地址屬性。多重屬性:物件擁有的屬性並非只屬於它,可以是一個擴充物件的屬性(即繼承)To be continue,物件導向技術的三大觀念(1)-物件,物件的三種特行:狀態:意即屬性,如車子的車型,排
4、汽量、色彩等等屬性;程式以變數(variable)來記錄其狀態,每一屬性項目皆有其對應的狀態值(屬性值)。行為:物件提供的操作服務,如車子可以發動、停車、換檔等操作;程式以程序/方法來表現其行為。識別字:每一物件皆擁有單獨的識別字。物件範例:一輛1800cc紅色四門的Altis車子。識別物件的屬性與行為:屬性:車型(type)、排汽量(cc)、色彩(color)、幾門(door)。行為:發動(starting)、停車(parking)、加速(speeding)、換檔(shift)。使用變數儲存屬性目前的狀態,建立方法來模擬行為:狀態:type=“Altis”、cc=1800、color=“re
5、d”、door=4。方法:starting()、parking()、speeding()、shift()。,物件導向技術的三大觀念(2)-訊息,物件使用訊息來模擬彼此的互動,訊息是物件之間的橋樑,可以啟動另一物件來執行指定的行為。發送物件(Sender)送出訊息的內容接收物件名稱執行的程序(方法)參數接收物件回應訊息的內容傳回值(Return Value)或不回應 To be Continue.,物件導向技術的三大觀念(2)-訊息,循序操作:物件送出的訊息有可能在接收物件收到後觸發另一個訊息,繼續送出一系列訊息給其它物件,須要等到其它訊息都執行完畢後,才能取得回應訊息的結果。名稱再用:過載(O
6、verload)/重載訊息的方法名稱相同,但是參數個數或資料型態不同,對於接收物件來說,已經足以從訊息判斷出是執行不同的方法。名稱再用:多型(Polymorphism),物件導向技術的三大觀念(3)類別,定義:類別(class)是一種分類,將擁有相同特性的物件集合歸類成同一個類別。類別就是物件的藍圖/樣板,可以用來建立物件,其中定義了同種類物件的共同變數(狀態)與程序(行為)。Class vs.Instance類別是一種抽象資料型態,其目的是用來建立物件,使用類別建立的物件稱為類別的個體(Instance)To be continue.,物件導向技術的三大觀念(3)類別,類別架構:繼承(Inh
7、eritance)EX:先定義Person類別來模擬人類,然後擴充Person類別建立Student與Teacher類別來模擬學生和老師,稱為繼承。Student與Teacher稱為子類別(subclass)或延申類別(derived class)。Person稱為父類別(Super class)或基礎類別(Base class)如果有多個子類別繼承同一個父類別,每一個子類別稱為兄弟類別(sibling Classes)如果父類別不只一個,稱為多重繼承。,物件導向技術的三大觀念(3)類別,類別關聯性(Relationships):類別之間擁有的合作關係專注於二元結合關係(Binary Asso
8、ciation)即兩個類別間的關聯性與相依關係(Dependency)。抽象類別:是一種不能完全代表物件的類別,抽象類別並不能用來建立InstanceEX:哺乳類是Mouse,Human,Dog的父類別,我們可以使用Mouse、Human、Dog類別各別建立Instance。但是我們不會用哺乳類建立一個哺乳類的Instance。,物件導向程式語言(Object-Oriented Languages),OOL支援三種特性封裝(Encapsulation)是將資料和程序組合起來成為類別進而建立物件。繼承(Inheritance)是物件的再利用,當定義好一個類別後,其他類別可以繼承這個類別的資料和方
9、法,並且新增或取代繼承物件的資料和方法。多型(Polymorphism)類別如果需要處理各種不同資料型態,並不需要針對不同的資料型態建立不同的類別,可以直接繼承基礎類別,繼承此類別建立同名方法處理不同的資料型態,因為方法的名稱相同,只是程式碼不同,所以也稱為同名異式,類別與物件建立流程(1)類別宣告(如何分辨下列變數?)個體變數(Instance variable)與個體方法(Instance method)類別變數(static/class variable)與類別方法(static/class method)類別圖圖示:(+:public,-:private,#:protected,:pa
10、ckage),Java的類別與物件 封裝,類別名稱,屬性,操作,Java的類別與物件 封裝,類別與物件建立流程(2)宣告物件變數(object variable)EX:Student joe,jane,current;宣告Student類別的變數joe,jane,current,是一種區域變數(Local Variable),資料型態為Reference Data Type(指標)。建立物件個體使用new運算子依照類別範本來建立物件,傳回的是指向此物件的參考指標,此過程稱為實體化(Instantiation)。EX:joe=new Student();注意:joe的值並不是物件本身,而是參考到
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 物件导向程式设计 物件 导向 程式 设计 PPT 课件

链接地址:https://www.31ppt.com/p-5550406.html