資源描述:
《Java面向?qū)ο缶幊袒A(chǔ)ppt課件.ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第3章Java面向?qū)ο缶幊袒A(chǔ)3.1面向?qū)ο筌浖_發(fā)概述3.2Java的類3.3Java的非訪問控制符3.4Java的訪問控制符3.5定義和使用Java的方法3.6面向?qū)ο蠓治鰧?shí)例(補(bǔ)充)學(xué)習(xí)要點(diǎn):1.理解面向?qū)ο蟪绦蛟O(shè)計的基本概念2.理解Java包中類的基本概念,掌握定義Java類和創(chuàng)建對象的方法3.掌握構(gòu)造函數(shù):構(gòu)造函數(shù)的特點(diǎn)、構(gòu)造函數(shù)的定義4.掌握J(rèn)ava的訪問控制符:public、private、protected、privateprotected5.掌握J(rèn)ava的非訪問控制符:static、abstract、
2、final6.理解方法的形式參數(shù)與實(shí)際參數(shù)、方法的返回值、方法的調(diào)用過程面向?qū)ο笫且环N新興的程序設(shè)計方法,或者是一種新的程序設(shè)計規(guī)范,其基本思想是使用對象、類、繼承、封裝、消息等基本概念來進(jìn)行程序設(shè)計。從現(xiàn)實(shí)世界中客觀存在的事物(即對象)出發(fā)來構(gòu)造軟件系統(tǒng),并且在系統(tǒng)構(gòu)造中盡可能運(yùn)用人類的自然思維方式。對象是系統(tǒng)中用來描述客觀事物的一個實(shí)體,它是構(gòu)成系統(tǒng)的一個基本單位。一個對象由一組屬性和對這組屬性進(jìn)行操作的一組服務(wù)組成。3.1面向?qū)ο筌浖_發(fā)概述圖2.1對象、實(shí)體與類設(shè)計方法特點(diǎn)代表性語言面向機(jī)器用機(jī)器指令為特定硬件
3、系統(tǒng)編制程序,其目標(biāo)代碼短,運(yùn)行速度和效率高,但可讀性和移植性差。86系列匯編語言面向過程用高級程序設(shè)計語言按計算機(jī)能夠理解的邏輯來描述要解決的問題及其解決方法,是過程驅(qū)動的,程序的可讀性和移植性好,核心是數(shù)據(jù)結(jié)構(gòu)和算法。但大型程序維護(hù)起來比較困難。Fortran(50年代)Basic(60年代)C(70年代)面向?qū)ο笥妹嫦驅(qū)ο蟮木幊陶Z言把現(xiàn)實(shí)世界的實(shí)體描述成計算機(jī)能理解、可操作的、具有一定屬性和行為的對象,將數(shù)據(jù)及數(shù)據(jù)的操作封裝在一起,通過調(diào)用各對象的不同方法來完成相關(guān)事件,是事件驅(qū)動的,其核心是類和對象,程序易于維
4、護(hù)、擴(kuò)充。C++(80年代)VB(90年代)ObjectPascal(90年代)Java(90年代)3.1.1程序設(shè)計方法的發(fā)展3.1.2面向?qū)ο蟮膸讉€基本概念類(Class)是定義了對象特征以及對象外觀和行為的模板,是同種對象的集合與抽象。類是一種抽象數(shù)據(jù)類型。對象(Object)是現(xiàn)實(shí)世界中某個具體的物理實(shí)體在計算機(jī)邏輯中的映射和體現(xiàn),是具有唯一對象名和固定對外接口的一組屬性和操作的集合,是類的一個實(shí)例,具有所在類所定義的全部屬性和方法。屬性(Property)是對象的特征,包括狀態(tài)和行為。屬性動態(tài)屬性——也叫行為
5、,在計算機(jī)內(nèi)用方法表示靜態(tài)屬性——也叫狀態(tài),在計算機(jī)內(nèi)用變量表示對象的關(guān)系包含——當(dāng)對象A是對象B的屬性時,稱對象B包含對象A;如:學(xué)生和班級,CPU與計算機(jī)繼承——當(dāng)對象A是對象B的特例時,稱對象A繼承了對象B如:北京大學(xué)和大學(xué),液晶顯示器和顯示器。關(guān)聯(lián)——當(dāng)對象A的引用是對象B的屬性時,稱對象A和對象B之間是關(guān)聯(lián)關(guān)系。如計算機(jī)與制造商,學(xué)生和班主任方法(Method)——與對象相聯(lián)系的由程序執(zhí)行的一個處理過程,類似于面向過程中的函數(shù)。事件(Event)——由對象識別的一個動作。面向?qū)ο蟮某绦蛟O(shè)計是通過對類、子類和對
6、象等的設(shè)計來體現(xiàn)的,類和對象是面向?qū)ο蟪绦蛟O(shè)計技術(shù)的核心。繼承性(inheritance)自動地共享具有層次關(guān)系的類(子類)和對象中的方法和數(shù)據(jù)的機(jī)制。當(dāng)類Y繼承類X時,就表明類Y是類X的子類,而類X是類Y的超/父類。類Y由兩部分組成:繼承部分和增加部分。增加部分是專為Y編寫的新代碼;繼承部分可以是簡單的等同,也可以更為豐富:如對性質(zhì)重命名、重實(shí)現(xiàn)、復(fù)制、置空等。XY繼承部分增加部分Y繼承X繼承方式:簡單繼承(singleinheritance):一個類至多只能繼承一個類(樹結(jié)構(gòu))。多重繼承(multipleinher
7、itance):一個類直接繼承多個超類(網(wǎng)狀結(jié)構(gòu))。類Y1,Y2簡單繼承類XXYY2Y1X1X2類Y多重繼承類X1,X2例:一個圖形系統(tǒng)()FigureLineEllipsePolygonCloseFigureOpenFigurePentagonTriangleRectangleCircleArc(象素寬度,顏色,平移,旋轉(zhuǎn))(填充,邊界,周長,面積)(長度)3.1.3面向?qū)ο蟮能浖_發(fā)過程面向?qū)ο蟮能浖_發(fā)過程可以大體劃分為三個階段:面向?qū)ο蟮姆治觯╫bjectorientedanalysis,OOA)面向?qū)ο蟮脑O(shè)計
8、(objectorienteddesign,OOD)面向?qū)ο蟮膶?shí)現(xiàn)(objectorientedprogramming,OOP)。(1)面向?qū)ο蟮姆治觯∣OA——objectorientedanalysis)主要作用:明確用戶的需求,并用標(biāo)準(zhǔn)化的面向?qū)ο蟮哪P鸵?guī)范地表述這一需求,最后將形成面向?qū)ο蟮姆治瞿P?,即OOA模型。分析階