九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

《JAVA面向?qū)ο缶幊獭稰PT課件.ppt

上傳人:w****2 文檔編號:16539331 上傳時間:2020-10-09 格式:PPT 頁數(shù):35 大?。?33.50KB
收藏 版權(quán)申訴 舉報 下載
《JAVA面向?qū)ο缶幊獭稰PT課件.ppt_第1頁
第1頁 / 共35頁
《JAVA面向?qū)ο缶幊獭稰PT課件.ppt_第2頁
第2頁 / 共35頁
《JAVA面向?qū)ο缶幊獭稰PT課件.ppt_第3頁
第3頁 / 共35頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《JAVA面向?qū)ο缶幊獭稰PT課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《《JAVA面向?qū)ο缶幊獭稰PT課件.ppt(35頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 第 3章 面向?qū)ο缶幊?3.1面向?qū)ο髥栴}求解的提出 3.2面向?qū)ο蟮姆治雠c設(shè)計 面向?qū)ο蟮姆治觯?OOA) 面向?qū)ο蟮脑O(shè)計( OOD) 3.3面向?qū)ο蟪绦蛟O(shè)計方法的優(yōu)點 可重用性 可擴展性 可管理性 3.4Java中類的定義和使用 類聲明 類體 3.1面向?qū)ο髥栴}求解的提出 程序設(shè)計語言的發(fā)展階段: 第一代語言 (1GL) : 二進(jìn)制機器代碼( 0101001 ) 第二代語言 (2GL) : 匯編語言 (Low Level Language LLL) ( mov, add ) 第三代語言 (3GL): 高級語言 (HLL)(以 C語言為代表 , 過程式編程語言) 第四代語言 (4GL) :

2、 面向?qū)ο笳Z言( OOP )非過程化 / 面向?qū)ο蟮木幊陶Z言 OOP最大的優(yōu)點是具備了隱藏庫執(zhí)行的某些方面的功 能,另一個重要優(yōu)點是過程與數(shù)據(jù)結(jié)構(gòu)聯(lián)合,這種數(shù) 據(jù)屬性與方法的結(jié)合稱為類。 最早的面向?qū)ο蟮木幊陶Z言是 1966年推出的 Simlula, 它首次提出模擬人類的思維方式,把數(shù)據(jù)和相關(guān)的操 作集成在一起的思想。 20世紀(jì) 80年代末期,以 C+為代表的面向?qū)ο蟪绦蛟O(shè) 計( OOP)才流行起來。其優(yōu)點為隱藏庫執(zhí)行的某些 方面的功能,另一個優(yōu)點是過程與數(shù)據(jù)結(jié)構(gòu)聯(lián)合。 Java是 20世紀(jì) 90年代新出現(xiàn)的面向?qū)ο蟮木幊陶Z言, 它去除 C+中非面向?qū)ο蟮膬?nèi)容,并實現(xiàn)一次編寫, 多次使用的跨平

3、臺特點,是面向?qū)ο箝_發(fā)工具中極具 潛力的成員之一。 3.2面向?qū)ο蟮姆治雠c設(shè)計 軟件工程的新途徑 面向?qū)ο笞鳛橐环N思想及編程語言,為軟件開發(fā)的整個 過程:從分析設(shè)計到實現(xiàn),提供了一個完整解決方案。 面向?qū)ο罂胺Q是軟件發(fā)展取得的里程碑式的偉大成就。 面向?qū)ο蠓椒ê喗?從 80年代后期開始,進(jìn)行了面向?qū)ο蠓治觯?OOA)、 面向?qū)ο笤O(shè)計( OOD)和面向?qū)ο蟪绦蛟O(shè)計( OOP) 等新的系統(tǒng)開發(fā)方式模型的研究,在有些文獻(xiàn)中統(tǒng)稱為 OO范型。 需求分析 需求模型化 概要設(shè)計 詳細(xì)設(shè)計 實現(xiàn) 用戶需求 明確細(xì)化 需求 分析 實現(xiàn) 設(shè)計 重新明確需求 用戶需求 可重用部件的引用和開發(fā) 修改詳細(xì)設(shè)計 選擇開

4、發(fā)工具 編碼 設(shè)計界面管理、任務(wù) 管理和數(shù)據(jù)管理 抽取對象模型、屬性、結(jié)構(gòu)、建立 OOA 模型 需求陳述 修改概要設(shè)計 圖 1-1 面向?qū)ο筌浖_發(fā)過程(軟件生命周期) 3.3面向?qū)ο蟪绦蛟O(shè)計方法的優(yōu)點 與傳統(tǒng)的方法相比,面向?qū)ο蟮膯栴}求解具有更好的可重 用性,可擴展性和可管理性 3.3.1可重用性 可重用性是面向?qū)ο筌浖_發(fā)的一個核心思路,面向?qū)ο?程序設(shè)計的抽象、封裝、繼承、多態(tài)四大特點都圍繞這個 核心服務(wù)。 1.抽象: 抽象就是忽略一個主題中與當(dāng)前目標(biāo)無關(guān)的那些方面, 以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。抽象并不打算 了解全部問題,而只是選擇其中的一部分,暫時不用部分 細(xì)節(jié)。比如,我們

5、要設(shè)計一個學(xué)生成績管理系統(tǒng),考察學(xué) 生這個對象時,我們只關(guān)心他的班級、學(xué)號、成績等,而 不用去關(guān)心他的身高、體重這些信息。抽象包括兩個方面, 一是過程抽象,二是數(shù)據(jù)抽象。 過程抽象 是指任何一個明 確定義功能的操作都可被使用者看作單個的實體看待,盡 管這個操作實際上可能由一系列更低級的操作來完成。 數(shù) 據(jù)抽象 定義了數(shù)據(jù)類型和施加于該類型對象上的操作,并 限定了對象的值只能通過使用這些操作修改和觀察。 2.繼承: 為什么會有繼承?建立一個類后,發(fā)現(xiàn)另一個新的類有相 同的特性,兩個選擇:重新定義一個新的類;在已有類的 基礎(chǔ)上,修改 (加加 /減減 ) 繼承是一種聯(lián)結(jié)類的層次模型,并且允許和鼓勵類

6、的重用, 它提供了一種明確表述共性的方法。新類繼承了原始類的 特性,新類稱為原始類的派生類(子類),而原始類稱為 新類的基類(父類)。繼承性很好的解決了軟件的可重用 性問題。 運輸工具 航空運輸工具 陸地運輸工具 水上運輸工具 人力驅(qū)動 引擎驅(qū)動 二輪 四輪 客運 貨運 3.封裝: 封裝是面向?qū)ο蟮奶卣髦?,是對象和類概念的主?特性。封裝是把過程和數(shù)據(jù)包圍起來,對數(shù)據(jù)的訪問只能 通過已定義的界面。面向?qū)ο笥嬎闶加谶@個基本概念,即 現(xiàn)實世界可以被描繪成一系列完全自治、封裝的對象,這 些對象通過一個受保護(hù)的接口訪問其他對象。一旦定義了 一個對象的特性,則有必要決定這些特性的可見性,即哪 些特性對

7、外部世界是可見的,哪些特性用于表示內(nèi)部狀態(tài)。 在這個階段定義對象的接口。通常,應(yīng)禁止直接訪問一個 對象的實際表示,而應(yīng)通過操作接口訪問對象,這稱為信 息隱藏。事實上,信息隱藏是用戶對封裝性的認(rèn)識,封裝 則為信息隱藏提供支持。封裝保證了模塊具有較好的獨立 性,使得程序維護(hù)修改較為容易。對應(yīng)用程序的修改僅限 于類的內(nèi)部,因而可以將應(yīng)用程序修改帶來的影響減少到 最低限度。 4. 多態(tài)性: 多態(tài)性是指允許不同類的對象對同一消息作出響應(yīng)。 多態(tài)性語言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢, 很好的解決了應(yīng)用程序函數(shù)同名問題。 表現(xiàn)在繼承中 方法的重寫 子類從父類繼承 (extends擴展 )而來 多個

8、子類同屬一個父類,所有子類有相同的父類 繼承父類的方法 在不同的子類中有不同的表現(xiàn)形式 表現(xiàn)在用一個類中 方法的重載 多態(tài)性在繼承中的表現(xiàn) 3.3.2可擴展性 3.3.3可管理性 類的實現(xiàn)包括 類聲明 和 類體 3.4.1 類聲明 class Mankind class 定義類的關(guān)鍵字 。(注意不要把 class寫成 Class)。 Mankind 類的名稱,習(xí)慣上,類名的首字母大寫,并且 命名的規(guī)則符合標(biāo)識符的規(guī)則。 3.4 java中類的定義和使用 3.4.2 類體 類體包含數(shù)據(jù)(變量)的定義和方法的定義。只可以 在類體中定義數(shù)據(jù)、初始化數(shù)據(jù)、定義方法的語句,而不 能有其他的語句,如控制語

9、句、賦值語句等。 class 在定義類的成員變量時可以同時賦初值,但對于成員變量 的操作只能放在方法中。例如: class Tom int x=98, y; y=87; /此語句對成員變量 y進(jìn)行了賦值操作 一個簡單的類 class Student String name, stuNumber; double score1, score2, score3; void set1(String s1, String s2) name = s1; stuNumber = s2; System.out.println(name + “ “ + stuNumber); double setScore(d

10、ouble d1, double d2, double d3) double d; score1 = d1; score2 = d2; score3 = d3; d = d1 d2 + d3; return d; 1、變量的定義 ( 1)成員變量 在類體中定義的變量稱為類的成員變量。其類型可以是 java中的 任一類型。成員變量在聲明它的整個類中有效。 成員變量又可以分為: 類成員變量(類變量) :類變量前有 static關(guān)鍵字修飾,所有的 對象共享類變量。 改變一個對象的類變量會影響到其他對象的這個 變量 實例成員變量(實例變量) :實例變量前無 static修飾,所有的 對象擁有各自不同的

11、實例變量,存儲空間也不同。 Java 實例 class Mankind String name=“Tom”,sex=“man”; static float salary= 3000.0f; void printInf(String n,String s,float m) int count=1; System.out.println(“person:”+n+”sex:”+s+ ”salary:”+m); System.out.println(“count=“+count); ( 2)局部變量 在方法體中定義的變量和方法的參數(shù)稱為局部變量。如 n,s,m,count; 其類型可以是 java中的

12、任一類型。 其作用域只限制在定義它的方法內(nèi)。 如果局部變量的名字與成員變量的名字相同,成員變量 被隱蔽,即暫時無效。 例 3.2 class Tom int x=98,y; / 實例變量 static int a; / 類變量 void f( ) /方法 f int x=3; /x為局部變量 y=x; y=this.x; 如果局部變量與成員變量的名字相同,在該方法內(nèi)引用 成員變量,則必須使用關(guān)鍵字 this(類的當(dāng)前對象 ) 2、方法的定義 方法聲明部分: 方法名和方法的返回類型 方法體 : 局部變量的定義和合法的 java語句 class Tom int x=98,y; static int

13、 a; void f( ) int x=3; y=x; y=this.x; 方法聲明 方 法 體 方法分類 ( 1)類方法 方法前有 static修飾的方法,類方法只能對類變 量進(jìn)行操作。 類方法調(diào)用: 類名 .方法名 或者 對象名 .方法名 類變量的調(diào)用: 類名 .類變量名 或者 對象名 .類變量名 ( 2)實例方法 方法前無 static修飾的為實例方法,實例方法 既能對類變量操作也可以對實例變量操作。 實例方法調(diào)用: 對象名 .方法名 實例變量的調(diào)用: 對象名 .實例變量名 class Test public static void main(String args) double d_

14、product; Area myArea; myArea = new Area(); myArea.setV(21,23); d_product = myArea.product(); System.out.println(d_product); class Area double width, height; void setV(double w, double h) width = w; height = h; double product() return width*height; Java實例 -例 3.3 class A int a=5; static int b; void c(

15、) /實例方法 b=10; /在實例方法中可對類變量進(jìn)行操作 A.f(b); /類方法可以由類名調(diào)用,也可以寫成 f(b) System.out.println(“from instance method,b=”+b); static void f(int x) /類方法 b=x; / a=x; a是實例變量,要創(chuàng)建對象來引用它 System.out.println(“from class method,b=”+b); public static void main(String args) A.f(15); /A.c();實例方法不可以由類名調(diào)用 A t=new A(); t.c(); 輸出

16、結(jié)果 from class method,b=15 from class method,b=10 from instance method,b=10 作業(yè): 設(shè)計一個學(xué)生類 Student,包含的成員變量有 “學(xué)號”、“班級”、“姓名”、“年齡”, 成員方法有“獲得 學(xué)號”“獲得班級”“獲 得姓名”“獲得年齡”、“修改年齡”。 ( 3)方法重載( method Overloading) 所謂方法重載就是在一個類中可以有多個方 法具有相同的名字,但這些方法的參數(shù)必須不 同,或者是個數(shù)或者是類型。 注意:不可以以方法的返回值為基礎(chǔ)構(gòu)成重 載方法 方法的重載 (overload) 方法名相同,但方法

17、的參數(shù)不同 方法描述 方法名 (標(biāo)識符 ) 參數(shù)類型 方法返回值 絕對值 abs(a) int int 絕對值 abs(a) long long 絕對值 abs(a) float float 絕對值 abs(a) double double public static int abs(int a) public static long abs(long a) public static float abs(float a) public static double abs(double a) class Calculation void add(int a,int b) int c; c=a+

18、b; System.out.println(c); / int add(int a,int b) return (a+b); float add(float a,float b) float c=a+b; return c; void add(String a,String b) String c=a+b; System.out.println(c); public static void main(String args ) Calculation c=new Calculation(); c.add(12,12); c.add(“good ”,” morning”); float x=c.

19、add(5f,3f); / float x=c.add(5,3);出錯 System.out.println(“x=”+x); 作業(yè): 利用重載的方法 square計算一個整型數(shù)和一個 雙精度數(shù)的平方。 (4)構(gòu)造方法 構(gòu)造方法名 與類名相同 ; 構(gòu)造方法 沒有返回類型 ,也不是 void; 構(gòu)造方法的主要作用是對 成員變量的初始化 。 如果沒有定義構(gòu)造方法時,各種類型的默認(rèn)值; 構(gòu)造方法不能由編程人員顯式地直接調(diào)用,在 創(chuàng)建某個類的對象時,設(shè)置的構(gòu)造方法將 自行 調(diào)用 。 使用不同數(shù)量、不同類型的參數(shù)對類初始化會 擁有多個構(gòu)造方法; Java實例 例 3.5 class Number pri

20、vate int n; Number(int m) n=m; void setNumber(int i) n= i; int getNuber( ) return n; boolean isEven( ) if(n%2=0) return ture; else return false; class Class1 public static void main(Sting args) Number n=new Number(10); boolean b= n.isEven(); System.out.println(n.getNumber( )+”is Even:”+b); (5)重載構(gòu)造方法

21、( Overloaded Constructor) class Stu static int count=0; /計數(shù)器,類變量 int id; /成員變量 String name; /成員變量 Stu(String n) id=+count; name=n; Stu(int i,String n) id=i; name=n; String getName( ) return name; int getId() return id; class Main() public static void main(String args) Stu lily=new Stu( “l(fā)ily” ); Stu maga=new Stu( 1001,”maga” ); System.out.println(“student id:”+lily.getId()+”,name:”+lily.getName(); System.out.println(“student id:”+maga.getId()+”,name:”+maga.getName();

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

相關(guān)資源

更多
正為您匹配相似的精品文檔

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!