文員辦公視頻javachapter_第1頁
文員辦公視頻javachapter_第2頁
文員辦公視頻javachapter_第3頁
文員辦公視頻javachapter_第4頁
文員辦公視頻javachapter_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、108/31/2012Java程序設計純面向對象的Java江西農大Java課題組 序赤壁之戰(zhàn)的”面向對象”引自: 208/31/2012Java程序設計大綱OOP,OOA,OOD面向對象四大特征抽象封裝繼承多態(tài)對象和類概念內部類匿名類308/31/2012Java程序設計OO(Object-Oriented)面向對象以人類的思路用計算機來解決現實問題能量重用性靈活性擴展性 4OOA & OOD & OOP面向對象分析將現實世界的情況 - 編程世界的Class面向對象設計組織、設計Class面向對象編程將上面的用某種語言實現實現面向對象復用能以最小的代價滿足變化,不用改變現有代碼滿足擴展5面向對

2、象程序設計 - 抽象抽象人腦中固有的抽象的功能為面向對象提供了平臺以面向對象的觀點來看:讓我們去吃飯吧!怎么樣提高抽象能力確定范圍:面對的實際問題是什么?說馬就不要從驢開始講主執(zhí)行者:由誰來執(zhí)行解決這個問題?讓車來動,還是人來開層次: 需要細化的粒度是哪個層次?回學校 OR 坐240回學校608/31/2012Java程序設計面向對象程序設計 - 封裝隱藏復雜性人認知的局限性.門戶安全性我自己的東西并不想別人篡改怎么做好封裝對不對貓一定要是貓,不能是狗好不好狗就只能是狗,不能又貓又狗708/31/2012Java程序設計7面向對象程序設計 - 繼承提高代碼的復用性抽象一般性的行為繼承覆寫特殊性

3、的行為如何使用繼承有強烈的“is-a”的關系特性人 & 賤人狗 & 貓有通用的擴展性的要求不會對現有的內容進行擴展,沒有必要808/31/2012Java程序設計8面向對象程序設計 - 多態(tài)在公司,戲稱:變態(tài) 多變的形態(tài)在人頭攢動的購物廣場之中一位男子不小心刮到了一位單身女生的超短裙日本美國泰國中國.etc如果是在南昌?引用: 908/31/2012Java程序設計9對象和類 - 概念一切皆為對象 Developer對象:對象是人們要進行研究的任何事物,從最簡單的整數到復雜的飛機等均可看作對象,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計劃或事件比如:當我們嘗試把所有的換成Object?睜開

4、眼(Object)看見天(Object)亮了,那是因為有光(Object),抬頭(Object)望望窗(Object)外,太陽(Object)出來了1008/31/2012Java程序設計10對象和類 - 概念這樣就可以理解了:睜開眼(Object:Eye)看見天(Object:Sky)亮了那是光(Object:Light),抬頭(Object:Head)望望窗(Object:Window)外,太陽(Object:Sun)出來了對象的三大特性特征狀態(tài)ID類對象的抽象、類的實例化就是對象1108/31/2012Java程序設計11狀態(tài)和行為屬性(Property)對狀態(tài)的數據結構上的抽象描述12

5、點.沒吃飯方法(Method)對行為數據結構上的抽象描述12點.沒吃飯.老師下課.*事件(Event)對自身接受消息的抽象描述12點.沒吃飯.老師不然你下課吃飯.12最后睜開(Eye.Open)眼(Object:Eye)看見(Event:I.See)天(Object:Sky)亮(Sky.Dawn)了那是光(Object:Light)抬(Head.Up)頭(Object:Head)望望(I.Look)窗(Object:Window)外太陽(Object:Sun)出來(Sun.Sunup)了13總之14想要更加清楚的了解引用: 15類的語法修飾符 class extends 父類implement

6、s 接口列表(,分隔)修飾符訪問控制修飾符 public,protected,private.類本身性質修飾符 final,abstract.Classextendsimplementspackage,import class.16訪問權限控制Public公家的錢Protected家族的錢default家庭的錢Private自己的口袋17類體狀態(tài)局部&成員 變量行為修飾符.返回類型方法名參數列表staticfinalthis18Abstract & Final抽象類無法生成對應的對象抽象概念的集合:如:生成一個車對象。Final類終極類:該類不可以作為別的類的基類效用:避免別人覆蓋的修改我們的

7、方法19類成員字段初始化初始化字段直接聲明,再初始化構造函數初始化代碼塊初始化的字段必須先于初始化先聲明初始化的順序默認賦值初始化語句和初始化代碼塊賦值執(zhí)行構造函數(當有調用其他的構造函數時,需先調用其他的構造函數)20類成員方法方法的重載(Overload)方法簽名,唯一確定一個方法 返回類型具體的原因分析傳遞參數的方式(Not Just Java)值傳遞 Call by value引用傳遞 Call by referenceJava是值傳遞,還是引用傳遞21類的特殊方法構造方法類同名.方法簽名特殊Main方法運行類的主函數成員方法對象的行為22static變量(Variable)類的變量,

8、所有實例共享一份數值方法(Method)方法并不需要知道對應對象的狀態(tài)方法只需要訪問靜態(tài)字段塊(Block)運行任何指定的語句語法 加上static的符號23final變量只對于基本數據類型和永恒類(Immutable類)對于Mutable類,并不具有常量特性String (Immutable)Date(Mutable)方法該方法不可以被覆蓋(繼承)24thisthis成員方法中的隱式參數成員方法可直接調用其他的成員方法以及字段調用一個的構造函數當有通用的構造需求,可以抽象出一個抽象掉用必須是函數的第一句調用該對象的被隱藏的字段經常使用的一個把戲當類字段被參數名所隱藏時,我們仍然想要訪問類字段

9、時,需要this的協(xié)助25對象來源構造函數反射構造工廠構造生存變量生存域銷毀對象析構函數(C+)finalize26對象和對象變量對象(Object)New Date()對象變量(Object Variable)Date currentDate;Date currentDate = new Date();27內存分析堆,棧,常量內存區(qū),代碼內存區(qū)堆new棧int常量內存區(qū)1.0L代碼內存區(qū)code28類與類之間的關系依賴(Dependency)Use-a聚合 (Aggregation)Has-a繼承(Inheritance)“Is-a”29包包是什么包就是包為什么要包分門別類避免沖突創(chuàng)建包pa

10、ckage第一句import30內部類類的內部生存區(qū)以及外部可見性是由訪問控制和外部類決定必須含有外部類的引用語法:Class outerClass Inner31內部類 可定義在方法體的內部該類只在對應的方法體內可見語法如類的內部類相同32靜態(tài)內部類無需外部類的引用對外部的可見性由本身的訪問控制和外部類的訪問控制決定應用場景:某個類是專門為某個類服務隱藏控制的粒度更加細膩33匿名類無名之類沒有類的名字是相對的,只是對于程序員沒有,實際上JVM需要為該類聲稱對應的類文件不用編寫對應的class代碼,比較簡潔適用于只需要使用到一個類對象時候使用如為某個button添加某個事件處理程序34設計理念總是把成員變量聲明為private避免在成

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論