版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.,1,面向?qū)ο?OOD)基本概念,抽象 封裝 類 對(duì)象,.,2,抽象,所謂抽象就是舍棄被研究對(duì)象中個(gè)別的、非本質(zhì)的、或與研究主題無(wú)關(guān)的次要特征,而抽取與研究有關(guān)的特征,形成對(duì)所研究對(duì)象正確的、簡(jiǎn)明扼要的認(rèn)識(shí)。,.,3,封裝,封裝也稱為信息隱藏,是指利用抽象數(shù)據(jù)類型將數(shù)據(jù)和基于數(shù)據(jù)的操作封裝在一起,使其構(gòu)成一個(gè)不可分割的獨(dú)立實(shí)體,數(shù)據(jù)被保護(hù)在抽象數(shù)據(jù)的內(nèi)部,盡可能隱藏內(nèi)部細(xì)節(jié),只保留一些外部接口使之與外部發(fā)生聯(lián)系。,.,4,對(duì)象,客觀世界是由一些具體的事物構(gòu)成的,每個(gè)事物一般都有自己的一組靜態(tài)特征和動(dòng)態(tài)特征。 把客觀世界的這一事實(shí)映射到面向?qū)ο蟪绦蛟O(shè)計(jì)中,就把客觀事物抽象成為了對(duì)象(objec
2、t)。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,對(duì)象具有如下特性: 對(duì)象標(biāo)識(shí) 靜態(tài)特征(屬性) 動(dòng)態(tài)特征(方法),.,5,類,對(duì)象是對(duì)具體某個(gè)事物的抽象,而類則是對(duì)對(duì)象的抽象與歸納,即把具有相同特征的一組對(duì)象歸納成一類。分類所依據(jù)的原則就是抽象。,.,6,JAVA中的類,類是面向?qū)ο蟪绦蛟O(shè)計(jì)(OOD)的基礎(chǔ),是Java的核心和本質(zhì)所在。在Java中,所有的語(yǔ)言元素都必須被封裝在類中。 Java程序是由一個(gè)個(gè)類定義組成的,編寫Java程序的過(guò)程實(shí)際就是從現(xiàn)實(shí)世界中抽象出Java可實(shí)現(xiàn)的類并用合適的語(yǔ)句定義它們的過(guò)程,這個(gè)定義過(guò)程包括對(duì)類內(nèi)各種屬性和方法的定義,創(chuàng)建類的對(duì)象,也包括類間的各種關(guān)系和接口的定義。 JAV
3、A語(yǔ)言中的類實(shí)際包括兩種: 系統(tǒng)定義的類 用戶自己定義的類,.,7,系統(tǒng)定義的類,JAVA系統(tǒng)定義好的類,根據(jù)實(shí)現(xiàn)的功能的不同,劃分為不同的集合包,所有的包合稱為類庫(kù)。 要在程序中使用某個(gè)系統(tǒng)類,必須使用import語(yǔ)句引入該類所在的包。 如:import java.awt.*; import java.applet.*;,.,8,用戶自定義的類,系統(tǒng)定義的類主要是實(shí)現(xiàn)一些常用的基本功能,但是一些具體的問(wèn)題還是需要用戶通過(guò)編寫自己的類來(lái)解決。因此,JAVA程序設(shè)計(jì)的過(guò)程實(shí)際就是用戶把客觀世界的問(wèn)題定義為自己的類來(lái)解決的過(guò)程。,.,9,定義一個(gè)簡(jiǎn)單的類,一個(gè)簡(jiǎn)單的類people class pe
4、ople String gender; float height; float weight; 注意:類聲明只是創(chuàng)建一個(gè)模板(或類型描述),它并不會(huì)創(chuàng)建一個(gè)實(shí)際的對(duì)象,因此,上述代碼不會(huì)生成任何people類型的對(duì)象實(shí)體。,.,10,創(chuàng)建對(duì)象,用前面定義的people類創(chuàng)建一個(gè)對(duì)象lily JAVA中使用new關(guān)鍵字創(chuàng)建對(duì)象,對(duì)象的創(chuàng)建可以使用以下兩種方式: people lily; lily=new people(); people lily=new people(); 以上語(yǔ)句執(zhí)行后,lily就是people的一個(gè)對(duì)象(實(shí)例);它將具有“存儲(chǔ)意義上”的真實(shí)性。,.,11,對(duì)象的初始化,所謂
5、對(duì)象的初始化就是為這個(gè)對(duì)象的數(shù)據(jù)成員賦初值。,lily.gender=“girl”; lily.height=1.6f; lily.weight=45.0f;,.,12,使用對(duì)象,當(dāng)一個(gè)對(duì)象被創(chuàng)立后,這個(gè)對(duì)象就擁有了自己的數(shù)據(jù)成員和方法,我們可以通過(guò)引用對(duì)象的數(shù)據(jù)成員來(lái)使用對(duì)象。,以前面創(chuàng)建的對(duì)象lily為例: System.out.println(“l(fā)ily is a :”+llily.gender); System.out.println(“l(fā)ily身高:”+llily.heght+“m”); System.out.println(“l(fā)ily體重:”+llily.weight+“kg”);
6、,.,13,使用對(duì)象,對(duì)象的數(shù)據(jù)成員、對(duì)象的方法的引用方式如下:,對(duì)象名.成員名 如:lily.height; 對(duì)象名.方法名(參數(shù)表) 如:lily.run();,.,14,類的定義,類的基本定義方法如下:,修飾符 class 類名 extends 父類 implements 接口名 類成員變量聲明 類方法聲明 ,.,15,1、關(guān)于類頭class,class關(guān)鍵字,在它的后面跟新定義的類的類名。 父類名跟在extends關(guān)鍵字后面,用來(lái)說(shuō)明當(dāng)前類是哪個(gè)已經(jīng)存在類的子類,存在繼承關(guān)系繼承是類與類之間的一種非常重要的關(guān)系。,.,16,1、關(guān)于類頭類的修飾符,類的修飾符用于定義對(duì)該類的訪問(wèn)級(jí)別,通
7、常有public、final、abstract等。,.,17,1、關(guān)于類頭接口名,接口名跟在implements關(guān)鍵字后面,用來(lái)說(shuō)明當(dāng)前類中實(shí)現(xiàn)了哪個(gè)接口定義的功能和方法。接口是Java語(yǔ)言用來(lái)實(shí)現(xiàn)多重繼承的一種特殊機(jī)制,我們將在后面詳細(xì)介紹它的使用方法。,.,18,2、關(guān)于類體,類體的定義要包括類的具體內(nèi)容,包括類的屬性與方法。,修飾符 class 類名 extends 父類 implements 接口名 類成員變量聲明 類方法聲明 ,.,19,構(gòu)造方法,創(chuàng)建對(duì)象后,通常要為對(duì)象賦初值即對(duì)象的初始化,為簡(jiǎn)化這一步操作,JAVA提供了一種特殊的方法構(gòu)造方法。,.,20,構(gòu)造方法實(shí)例,class
8、 people float height; float weight; people(float aheight,float aweight) height=aheight; weight=aweight; public class sample public static void main(String args) people lily=new people(1.60f,45.0f); System.out.println(lilys height is:+lily.height+m); System.out.println(lilys weight is:+lily.weight+kg
9、); ,.,21,構(gòu)造方法的特點(diǎn),構(gòu)造方法的方法名與類名相同。 不能對(duì)構(gòu)造方法指定返回類型,系統(tǒng)指定了隱含返回類型。 構(gòu)造方法不能由編程人員顯式地直接調(diào)用。 在創(chuàng)建一個(gè)類的新對(duì)象的同時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用該類的構(gòu)造方法為新對(duì)象初始化,構(gòu)造方法總是和new運(yùn)算符一起被調(diào)用。 構(gòu)造方法和普通方法一樣,可以被重置即一個(gè)類可以定義多個(gè)具有不同參數(shù)的構(gòu)造方法。 一個(gè)類可以不定義構(gòu)造方法,但實(shí)際系統(tǒng)會(huì)為這個(gè)類定義一個(gè)缺省的構(gòu)造方法,這個(gè)構(gòu)造方法沒(méi)有任何參數(shù)和語(yǔ)句。 構(gòu)造方法可以繼承。,.,22,構(gòu)造方法的重置實(shí)例,class people float height; float weight; String
10、gender; people(float aheight,float aweight) height=aheight; weight=aweight; people(float aheight,float aweight,String agender) height=aheight; weight=aweight; gender=agender; public class gouzao public static void main(String args) people lily=new people(1.60f,45.0f); people jack=new people(1.70f,60
11、.0f,boy); System.out.println(lilys height is:+lily.height+m); System.out.println(lilys weight is:+lily.weight+kg); System.out.println(jacks height is:+jack.height+m); System.out.println(jacks weight is:+jack.weight+kg); System.out.println(jacks weight is a +jack.gender); ,.,23,構(gòu)造方法的作用,對(duì)象初始化 引入更多的靈活度
12、(變量賦值或更復(fù)雜的操作),.,24,類的修飾符訪問(wèn)控制,缺省訪問(wèn)控制 public protected final abstract,.,25,類的修飾符缺省訪問(wèn)控制,缺省訪問(wèn)控制(無(wú)修飾符),該類只能被同一個(gè)包中的類訪問(wèn)和引用,而不可以被其他包中的類使用,這種訪問(wèn)特性又稱為包訪問(wèn)性。同樣類內(nèi)的變量和方法如果沒(méi)有訪問(wèn)控制符來(lái)限定,也就具有包訪問(wèn)性。 JAVA規(guī)定:同一個(gè)程序文件中的所有類屬于一個(gè)包。,.,26,類的修飾符public,ublic(公共的),用public修飾的類稱為公共類,公共類不但可以供它同一個(gè)包內(nèi)的類使用,還可供其他包中的類使用。,.,27,類的修飾符protected,
13、rotected(受保護(hù)的),用protected修飾的類稱為保護(hù)類,保護(hù)類的成員變量可以被三種類所引用:該類自身、與它在同一個(gè)包中的其它類、在其他包中的該類的子類。使用protected修飾符的主要作用是允許其他包中該類的子類來(lái)訪問(wèn)父類的特定屬性。,.,28,類的修飾符final,final(最終的),用final修飾的類稱為最終類,最終類是不能被其他類繼承的。,.,29,類的修飾符abstract,abstract(抽象的),用abstract修飾的類稱為抽象類聲明方法的存在而不去具體實(shí)現(xiàn)其功能的類,它用于要?jiǎng)?chuàng)建一個(gè)體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實(shí)現(xiàn)該類的情況。實(shí)例
14、 不能使用abstract類創(chuàng)建對(duì)象。 用abstract修飾的方法表示抽象方法,抽象方法沒(méi)有方法體。 抽象類可以沒(méi)有抽象方法,但有抽象方法的類必須定義為抽象類。 如果一個(gè)子類繼承一個(gè)抽象類,子類又沒(méi)有實(shí)現(xiàn)父類的所有抽象方法,那么子類也要定義為抽象類,否則編譯會(huì)出錯(cuò)的。 final和abstract不能同時(shí)修飾一個(gè)類。,.,30,JAVA數(shù)據(jù)成員,JAVA中的數(shù)據(jù)成員即常說(shuō)的變量,為了方便區(qū)分,我們將類中描述研究對(duì)象靜態(tài)特征的變量稱為成員變量,將成員方法中定義的變量稱為局部變量。 數(shù)據(jù)成員的聲明:(參見(jiàn)第二章),修飾符 變量類型 變量名=變量初值;,.,31,數(shù)據(jù)成員的修飾符訪問(wèn)控制,publ
15、ic private protected static final,.,32,數(shù)據(jù)成員的修飾符public,公共的變量。,.,33,數(shù)據(jù)成員的修飾符private,用private修飾的屬性或方法只能被該類自身所訪問(wèn)和修改,而不能被任何其他類(包括該類的子類),來(lái)獲取和引用。,.,34,數(shù)據(jù)成員的修飾符protected,rotected成員可以被該類的成員以及其子類的成員訪問(wèn),它還可以被同一個(gè)包內(nèi)的其他類的成員訪問(wèn)。,.,35,數(shù)據(jù)成員的修飾符static,通常情況下,類的成員必須通過(guò)它的類的對(duì)象訪問(wèn),但是可以使用static創(chuàng)建一個(gè)成員,它能被它自己使用,而不必引用特定的實(shí)例。 說(shuō)明: 聲
16、明為static的變量為全局變量。 static變量被保存在類的公共存儲(chǔ)單元中,而不是保存在該類某個(gè)對(duì)象的內(nèi)存儲(chǔ)區(qū)中,因此,該類的任何一個(gè)對(duì)象訪問(wèn)該變量得到的將是相同的值。,例: class sp static int n=10; public class sample sp.n=sp.n+1; ,.,36,靜態(tài)初始化器,靜態(tài)初始化器是由關(guān)鍵字static引導(dǎo)的一對(duì)大括號(hào)括起的語(yǔ)句組。作用是初始化類的靜態(tài)數(shù)據(jù)成員。,例: static int a; static a=10;,.,37,數(shù)據(jù)成員的修飾符final,用final修飾的數(shù)據(jù)成員稱為最終數(shù)據(jù)成員,其值在整個(gè)程序的執(zhí)行過(guò)程中是不能改變的標(biāo)識(shí)符常量,最終數(shù)據(jù)成員可以在申明時(shí)進(jìn)行初始化,也可通過(guò)構(gòu)造方法進(jìn)行賦值,但不能在程序的其他部分賦值。,.,38,JAVA成員方法,JAVA中的成員方法與其他成員設(shè)計(jì)語(yǔ)言中的函數(shù)概念相等,也叫成員函數(shù),是具有某種獨(dú)立功能的程序模塊。 JAV中的方法包括: 系統(tǒng)成員方法 用戶自定義成員方法,.,39,系統(tǒng)類成員方法,如: public void paint(Graphics g); System.out.print();,.,40,方法的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 摩托車的駕照考試流程考核試卷
- 木材采運(yùn)的經(jīng)濟(jì)效益模型考核試卷
- 化學(xué)礦石的光學(xué)特性與光譜分析方法考核試卷
- 塔吊頂升步驟及注意事項(xiàng)考核試卷
- 體育館維修腳手架施工合同
- 氣體運(yùn)輸司機(jī)勞動(dòng)合同范本
- 農(nóng)村林業(yè)開發(fā)機(jī)械施工合同范本
- 機(jī)場(chǎng)工程監(jiān)理合同范例
- 生物安全管理制度
- 電商平臺(tái)開發(fā)招投標(biāo)流程
- 棒球運(yùn)動(dòng)主題教育PPT模板
- 四川省工傷醫(yī)療(康復(fù))待遇申請(qǐng)表
- GA 1800.5-2021電力系統(tǒng)治安反恐防范要求第5部分:太陽(yáng)能發(fā)電企業(yè)
- FZ/T 52057-2021錦綸6短纖維
- T 1463纖維增強(qiáng)塑料密度和相對(duì)密度試驗(yàn)方法
- 組合體的尺寸標(biāo)注(最新)課件
- 自由能源裝置實(shí)踐手冊(cè)-第三章(下)
- 第17課《屈原》課件(24張PPT) 部編版語(yǔ)文九年級(jí)下冊(cè)
- 人教版四年級(jí)數(shù)學(xué)上冊(cè)認(rèn)識(shí)梯形課件
- 車輛維修竣工出廠檢驗(yàn)制度
- 門衛(wèi)24小時(shí)值班登記表
評(píng)論
0/150
提交評(píng)論