Java面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程課件:類和對(duì)象_第1頁
Java面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程課件:類和對(duì)象_第2頁
Java面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程課件:類和對(duì)象_第3頁
Java面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程課件:類和對(duì)象_第4頁
Java面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程課件:類和對(duì)象_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

《Java面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》類和對(duì)象本章目標(biāo)·

面向?qū)ο蟮幕靖拍睢?/p>

類的定義·

對(duì)象的創(chuàng)建·

修飾符的使用·

基礎(chǔ)類的使用《Java面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.1面向?qū)ο蟮幕靖拍?.1.1

程序設(shè)計(jì)語言的發(fā)展·

面向機(jī)器的低級(jí)程序設(shè)計(jì)語言第一代程序設(shè)計(jì)語言也稱機(jī)器語言。它需要用二進(jìn)制機(jī)器代碼編成程序來控制計(jì)算機(jī)執(zhí)行規(guī)定的操作。在20世紀(jì)50年代出現(xiàn)了匯編語言,在編寫程序的時(shí)候能夠通過一些

簡(jiǎn)單的命令來代替二進(jìn)制指令?!?/p>

面向過程的高級(jí)程序設(shè)計(jì)語言面向過程就是結(jié)構(gòu)化程序設(shè)計(jì)。任何程序都可以用順序、選擇、循環(huán)這三種結(jié)構(gòu)的語句來構(gòu)造。比較著名的語言如C語言、Pascal

、FORTRAN等?!?/p>

面向?qū)ο蟪绦蛟O(shè)計(jì)語言面向?qū)ο笫前褑栴}事物分解成各個(gè)對(duì)象,把多個(gè)功能合理的放到不同對(duì)象里,強(qiáng)調(diào)

的是具備某些功能的對(duì)象。通過調(diào)用對(duì)象的方法來實(shí)現(xiàn)程序功能。比較著名的語言如C++

、Java

、Python

語言等?!禞ava

面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.1面向?qū)ο蟮幕靖拍?.1.2

面向?qū)ο蟪绦蛟O(shè)計(jì)方法·

封裝封裝,就是把屬性私有化,提供公共方法訪問私有對(duì)象。封裝的作用是可以隱藏實(shí)現(xiàn)細(xì)節(jié),使得代碼模塊化,提高安全性?!?/p>

繼承繼承是類之間的一種關(guān)系,當(dāng)多個(gè)類具有相同的特征(屬性)和行為(方法)時(shí),

可以將相同的部分抽取出來放到一個(gè)類中作為父類,其它類繼承這個(gè)父類。繼承的作用

是可以擴(kuò)展已存在的代碼模塊(類),實(shí)現(xiàn)代碼重用,提高效率?!?/p>

面向?qū)ο蟪绦蛟O(shè)計(jì)語言多態(tài)是指一個(gè)類實(shí)例的相同方法在不同情形有不同表現(xiàn)形式。多態(tài)機(jī)制使具有不同內(nèi)部結(jié)構(gòu)的對(duì)象可以共享相同的外部接口。《Java

面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.2類的定義4.2.1

類的定義·

類類是對(duì)一組有相同屬性和相同功能的對(duì)象的概括,一個(gè)類所包含的數(shù)據(jù)和方法能夠描述一組對(duì)象的共同屬性和行為?!?/p>

定義一個(gè)類的步驟:1.定義類使用關(guān)鍵字class,然后定義類名。2.編寫類的屬性,即聲明變量。3.編寫類的方法?!禞ava

面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.2類的定義4.2.1

類的定義·

類的一般格式class類名{//定義屬性部分(成員變量)屬性1的類型屬性1;屬性2的類型屬性2;·屬性m的類型屬性m;//定義方法部分方法1();方法2();··方法n();《Java

面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.2類的定義4.2.1

類的定義·【例4-1】定義一個(gè)手機(jī)的類,名為Telphone,同時(shí)定義它的三個(gè)屬性變量:屏幕尺寸、CPU、內(nèi)存,同時(shí)它具有打電話、發(fā)短信、顯示

手機(jī)信息等功能。public

class

Telphone

{//成員變量(屬性)float

screen;

//屏幕尺寸float

cpu;

//cpufloatmem;

//內(nèi)存//方法(功能)public

void

call(){Sysntln("Telphone有打電話的功能");《Java面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.2類的定義4.2.1

類的定義publicvoidsentMessage(){Sysntln("Telphone有發(fā)短信的功能");publicvoidshow(){Sysntln("screen:"+screen+"cpu:"+cpu+"《Java面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.2類的定義4.2.2

構(gòu)造方法·

構(gòu)造方法構(gòu)造方法是一種特殊的成員方法,其作用是負(fù)責(zé)對(duì)象的初始化工作,為實(shí)例變量賦予合適的初始值?!?/p>

定義構(gòu)造方法的格式:類名(形參列表){//方法體;《Java

面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.2類的定義4.2.2

構(gòu)造方法·

構(gòu)造方法的語法規(guī)則(1)構(gòu)造方法的方法名與類名完全相同。(2)構(gòu)造方法不返回任何值,也沒有返回類型。(3)每一個(gè)類可以有零個(gè)或多個(gè)構(gòu)造方法。(4)構(gòu)造方法在創(chuàng)建對(duì)象時(shí)由Java

編譯器自動(dòng)調(diào)用執(zhí)行,一般不能顯式地

直接調(diào)用?!禞ava

面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.2類的定義4.2.2

構(gòu)造方法·

構(gòu)造方法的聲明構(gòu)造方法的任務(wù)就是初始化一個(gè)對(duì)象的內(nèi)部狀態(tài),以便使創(chuàng)建的實(shí)例變量能夠完全初始化。如果在類中沒有構(gòu)造方法,在創(chuàng)建對(duì)象時(shí),系統(tǒng)使用默認(rèn)的構(gòu)造方法。定義構(gòu)造方法的一般格式如下:[public]

類名([形式參數(shù)列表])[方法體]《Java

面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》見課本P76例題4.3對(duì)象的創(chuàng)建4.3.1

對(duì)象的聲明和創(chuàng)建·

創(chuàng)建對(duì)象步驟:1.

聲明:聲明一個(gè)對(duì)象,包括對(duì)象名稱和對(duì)象類型。2.實(shí)例化:使用關(guān)鍵字new來創(chuàng)建一個(gè)對(duì)象,new運(yùn)算符用于為對(duì)象分配存儲(chǔ)空間。3.初始化:使用new創(chuàng)建對(duì)象時(shí),會(huì)調(diào)用構(gòu)造方法初始化對(duì)象?!?/p>

創(chuàng)建對(duì)象的

般格式:類名對(duì)象名;對(duì)象名=

new

類名();例

:Telphone

phonephone

=new

Telphone();或者,也可以將上述兩行代碼合寫成:類名對(duì)象名=

new

類名();例

:Telphone

phone=new

Telphone();《Java

對(duì)

設(shè)

計(jì)

》4.3對(duì)象的創(chuàng)建4.3.2

對(duì)象的使用·

引用對(duì)象成員的

一般格式:對(duì)象名.成員變量;對(duì)象名.成員方法();例

:引用對(duì)象的成員變量:Telphone

phonel

=new

Telphone();phonel.screen=5;//給screen屬性賦值5phonel.cpu

=1.4;

//給cpu屬性賦值1.4

引用對(duì)象的成員方法:phonel.sendMessage();//

調(diào)用sendMessage()方法《Java

面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.4修飾符的使用4.4.1

類的訪問控制修飾符·

針對(duì)類的訪問控制修飾符,Java

僅能使用public

(公有)和默認(rèn)這兩種訪問控制符。(1)使用public

修飾的公有類是類的訪問控制級(jí)別中使用數(shù)量較多的一種,它對(duì)所有類都是可見的,既可以被同一個(gè)包中的類訪問,也可以被其他包中的類

。例如

:publicclassTelphone

{//成員變量;//方法();《Java

面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.4修飾符的使用4.4.1

類的訪問控制修飾符(2)不使用public

修飾的類僅允許在包內(nèi)具有可見性,即只能被同一個(gè)包中的類訪問,不能被其他包中的類訪問。例如

:class

Telphone

{//成員變量;//方法();}《Java

面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.4修飾符的使用4.4.2

類成員的訪問控制修飾符·

針對(duì)類成員Java提供了4種訪問控制符,主要用于控制其他類是否可

以訪問某一類中的屬性或方法,從而實(shí)現(xiàn)數(shù)據(jù)封裝。訪問修飾符本類同包子類其他public√√√√protected√√√default(默認(rèn))√√private√《Java面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.4修飾符的使用4.4.3

static修飾符的使用Java中可以使用static

關(guān)鍵字修飾類的成員變量和方法,這些被static

關(guān)鍵字修飾的成員也稱為靜態(tài)成員。(1)static變量使用static修飾的成員變量稱為類變量或靜態(tài)變量,沒有使用static

修飾的成員變量稱為實(shí)例變量(2)static

方法使用static修飾的成員方法稱為類方法或靜態(tài)方法,沒有使用static

修飾的成員方法稱為實(shí)例方法《Java

面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.4修飾符的使用4.4.3

static修飾符的使用·

聲明靜態(tài)變量格式如下:static

數(shù)據(jù)類型成員變量;例

:static

int

count;static

final

double

PI=3.14;//聲明類常量注

:對(duì)于實(shí)例變量,創(chuàng)建對(duì)象時(shí),每個(gè)對(duì)象都會(huì)分配到內(nèi)存單獨(dú)保存自己的實(shí)例變

。對(duì)于類變量,所有的對(duì)象共享同一個(gè)內(nèi)存區(qū)域,即所有對(duì)象的類變量的值是

一致的訪問類變量時(shí),既可以通過類名進(jìn)行訪問,也可以通過對(duì)象進(jìn)行訪問。但是,訪問實(shí)例變量時(shí),只能通過對(duì)象進(jìn)行訪問《Java

面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.4修飾符的使用4.4.3

static修飾符的使用·

聲明靜態(tài)方法格式如下:static返回值類型方法名(參數(shù)列表)//方法體注

:調(diào)用類方法時(shí),可以由類名直接調(diào)用,也可以創(chuàng)建對(duì)象后由對(duì)象的引用變量調(diào)用,而實(shí)例方法只能通過引用變量調(diào)用,不能由類名直接調(diào)用。類方法中只能訪問類變量、調(diào)用類方法,而實(shí)例方法中既可以訪問實(shí)例變量和實(shí)例方法,也可以訪問類變量和類方法。類方法中不能使用this關(guān)鍵字,而實(shí)例方法中可以使用this引用當(dāng)前對(duì)象《Java

面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》方法名功能描述abs(double

a)絕對(duì)值ceil(double

a)得到不小于某數(shù)的最小整數(shù)floor(double

a)得到不大于某數(shù)的最大整數(shù)round(double

a)四舍五入返回int型或者long型max(double

a,double

b)求兩數(shù)中較大值min(double

a,double

b)求兩數(shù)中較小值sin(double

a)正弦tan(double

a)正切cos(double

a)余弦sqrt(double

a)平方根pow(double

a,double

b)第一個(gè)參數(shù)的第二個(gè)參數(shù)次冪的值random()返回在0.0和1.0之間的數(shù),大于0.0,小于1.04.5基礎(chǔ)類的使用4.5.1

Math類的使用Math類包含常用的數(shù)學(xué)運(yùn)算的標(biāo)準(zhǔn)方法,如初等指數(shù)、對(duì)數(shù)、平方根和三角函數(shù)等。Math類提供的方法都是靜態(tài)的,可以直接調(diào)用,無需實(shí)例化?!ath類常用的方法:《Java

面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》方法名功能描述Date()默認(rèn)構(gòu)造方法,創(chuàng)建一個(gè)Date對(duì)象并以當(dāng)前系統(tǒng)時(shí)間來初始化該對(duì)象Date(long

date)構(gòu)造方法,以指定的long值初始化一個(gè)Date對(duì)象,該long值是自1970年1月1日00:00:00GMT時(shí)間以來的毫秒數(shù)boolean

after(Date

when)判斷日期是否在指定日期之后,如果是則返回ture,否則返回falseboolean

before(Date

when)判斷日期是否在指定日期之前,如果是則返回ture,否則返回falseinter

compareTo(Date

date)與指定日期進(jìn)行比較,如果相等則返回0,如果在指定日期之前則返回小于0的數(shù);加入過在指定日期之后則返回大于0的數(shù)String

toString()將日期轉(zhuǎn)換成字符,字符串格式是:dowmonddhh:mm:SSzzz

yyyy其中dow是一周中的一天(Sun,Mon,Tue,Wed,Thu,Fri,Sat);mon是月份;dd是天;hh是小時(shí);mm是分鐘;s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論