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

下載本文檔

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

文檔簡介

類和對象本章目標面向?qū)ο蟮幕靖拍铑惖亩x對象的創(chuàng)建修飾符的使用基礎(chǔ)類的使用24.1面向?qū)ο蟮幕靖拍?.1.1程序設(shè)計語言的發(fā)展面向機器的低級程序設(shè)計語言

第一代程序設(shè)計語言也稱機器語言。它需要用二進制機器代碼編成程序來控制計算機執(zhí)行規(guī)定的操作。在20世紀50年代出現(xiàn)了匯編語言,在編寫程序的時候能夠通過一些簡單的命令來代替二進制指令。面向過程的高級程序設(shè)計語言面向過程就是結(jié)構(gòu)化程序設(shè)計。任何程序都可以用順序、選擇、循環(huán)這三種結(jié)構(gòu)的語句來構(gòu)造。比較著名的語言如C語言、Pascal、FORTRAN等。面向?qū)ο蟪绦蛟O(shè)計語言面向?qū)ο笫前褑栴}事物分解成各個對象,把多個功能合理的放到不同對象里,強調(diào)的是具備某些功能的對象。通過調(diào)用對象的方法來實現(xiàn)程序功能。比較著名的語言如C++、Java、Python語言等。4.1面向?qū)ο蟮幕靖拍?.1.2面向?qū)ο蟪绦蛟O(shè)計方法封裝封裝,就是把屬性私有化,提供公共方法訪問私有對象。封裝的作用是可以隱藏實現(xiàn)細節(jié),使得代碼模塊化,提高安全性。繼承繼承是類之間的一種關(guān)系,當多個類具有相同的特征(屬性)和行為(方法)時,可以將相同的部分抽取出來放到一個類中作為父類,其它類繼承這個父類。繼承的作用是可以擴展已存在的代碼模塊(類),實現(xiàn)代碼重用,提高效率。面向?qū)ο蟪绦蛟O(shè)計語言多態(tài)是指一個類實例的相同方法在不同情形有不同表現(xiàn)形式。多態(tài)機制使具有不同內(nèi)部結(jié)構(gòu)的對象可以共享相同的外部接口。4.2類的定義4.2.1類的定義類

類是對一組有相同屬性和相同功能的對象的概括,一個類所包含的數(shù)據(jù)和方法能夠描述一組對象的共同屬性和行為。定義一個類的步驟:1.定義類使用關(guān)鍵字class,然后定義類名。2.編寫類的屬性,即聲明變量。3.編寫類的方法。4.2類的定義4.2.1類的定義類的一般格式 class類名{

//定義屬性部分(成員變量)

屬性1的類型屬性1;

屬性2的類型屬性2; ……

屬性m的類型屬性m;//定義方法部分

方法1();

方法2(); ……

方法n(); }

4.2類的定義4.2.1類的定義【例4-1】定義一個手機的類,名為Telphone,同時定義它的三個屬性變量:屏幕尺寸、CPU、內(nèi)存,同時它具有打電話、發(fā)短信、顯示手機信息等功能。 publicclassTelphone{ //成員變量(屬性)

floatscreen;//屏幕尺寸

floatcpu;//cpu floatmem; //內(nèi)存

//方法(功能)

publicvoidcall(){ System.out.println("Telphone有打電話的功能"); }4.2類的定義4.2.1類的定義 publicvoidsentMessage(){ System.out.println("Telphone有發(fā)短信的功能"); } publicvoidshow(){ System.out.println("screen:"+screen+"cpu:"+ cpu+"mem:"+mem); }}4.2類的定義4.2.2構(gòu)造方法構(gòu)造方法構(gòu)造方法是一種特殊的成員方法,其作用是負責對象的初始化工作,為實例變量賦予合適的初始值。定義構(gòu)造方法的格式:

類名(形參列表){ //方法體; }4.2類的定義4.2.2構(gòu)造方法構(gòu)造方法的語法規(guī)則

(1)構(gòu)造方法的方法名與類名完全相同。(2)構(gòu)造方法不返回任何值,也沒有返回類型。(3)每一個類可以有零個或多個構(gòu)造方法。(4)構(gòu)造方法在創(chuàng)建對象時由Java編譯器自動調(diào)用執(zhí)行,一般不能顯式地直接調(diào)用。4.2類的定義4.2.2構(gòu)造方法構(gòu)造方法的聲明構(gòu)造方法的任務(wù)就是初始化一個對象的內(nèi)部狀態(tài),以便使創(chuàng)建的實例變量能夠完全初始化。如果在類中沒有構(gòu)造方法,在創(chuàng)建對象時,系統(tǒng)使用默認的構(gòu)造方法。定義構(gòu)造方法的一般格式如下: [public]類名([形式參數(shù)列表]) { [方法體] }

見課本P76例題4.3對象的創(chuàng)建4.3.1對象的聲明和創(chuàng)建創(chuàng)建對象步驟:

1. 聲明:聲明一個對象,包括對象名稱和對象類型。2. 實例化:使用關(guān)鍵字new來創(chuàng)建一個對象,new運算符用于為對象分配存儲空間。3. 初始化:使用new創(chuàng)建對象時,會調(diào)用構(gòu)造方法初始化對象。創(chuàng)建對象的一般格式:

類名對象名;

對象名=new類名();例如:

Telphonephone phone=newTelphone();

或者,也可以將上述兩行代碼合寫成:

類名對象名=new類名();

例如: Telphonephone=newTelphone();4.3對象的創(chuàng)建4.3.2對象的使用引用對象成員的一般格式:

對象名.成員變量;

對象名.成員方法();例如:

引用對象的成員變量:

Telphonephone1=newTelphone(); phone1.screen=5;//給screen屬性賦值5 phone1.cpu=1.4;//給cpu屬性賦值1.4

引用對象的成員方法:

phone1.sendMessage();//調(diào)用sendMessage()方法4.4修飾符的使用4.4.1類的訪問控制修飾符針對類的訪問控制修飾符,Java僅能使用public(公有)和默認這兩種訪問控制符。(1)使用public修飾的公有類是類的訪問控制級別中使用數(shù)量較多的一種,它對所有類都是可見的,既可以被同一個包中的類訪問,也可以被其他包中的類訪問。例如: publicclassTelphone{ //成員變量; //方法(); }4.4修飾符的使用4.4.1類的訪問控制修飾符(2)不使用public修飾的類僅允許在包內(nèi)具有可見性,即只能被同一個包中的類訪問,不能被其他包中的類訪問。例如: classTelphone{ //成員變量; //方法(); }4.4修飾符的使用4.4.2類成員的訪問控制修飾符針對類成員Java提供了4種訪問控制符,主要用于控制其他類是否可以訪問某一類中的屬性或方法,從而實現(xiàn)數(shù)據(jù)封裝。訪問修飾符本類同包子類其他public√√√√protected√√√

default(默認)√√

private√

4.4修飾符的使用4.4.3

static修飾符的使用Java中可以使用static關(guān)鍵字修飾類的成員變量和方法,這些被static關(guān)鍵字修飾的成員也稱為靜態(tài)成員。(1)static變量使用static修飾的成員變量稱為類變量或靜態(tài)變量,沒有使用static修飾的成員變量稱為實例變量(2)static方法使用static修飾的成員方法稱為類方法或靜態(tài)方法,沒有使用static修飾的成員方法稱為實例方法4.4修飾符的使用4.4.3

static修飾符的使用聲明靜態(tài)變量格式如下: static數(shù)據(jù)類型成員變量;例如:

staticintcount;staticfinaldoublePI=3.14;//聲明類常量注意:對于實例變量,創(chuàng)建對象時,每個對象都會分配到內(nèi)存單獨保存自己的實例變量。對于類變量,所有的對象共享同一個內(nèi)存區(qū)域,即所有對象的類變量的值是一致的訪問類變量時,既可以通過類名進行訪問,也可以通過對象進行訪問。但是,訪問實例變量時,只能通過對象進行訪問4.4修飾符的使用4.4.3

static修飾符的使用聲明靜態(tài)方法格式如下: static返回值類型方法名(參數(shù)列表) { //方法體

}注意:調(diào)用類方法時,可以由類名直接調(diào)用,也可以創(chuàng)建對象后由對象的引用變量調(diào)用,而實例方法只能通過引用變量調(diào)用,不能由類名直接調(diào)用。類方法中只能訪問類變量、調(diào)用類方法,而實例方法中既可以訪問實例變量和實例方法,也可以訪問類變量和類方法。類方法中不能使用this關(guān)鍵字,而實例方法中可以使用this引用當前對象4.5基礎(chǔ)類的使用4.5.1

Math類的使用Math類包含常用的數(shù)學運算的標準方法,如初等指數(shù)、對數(shù)、平方根和三角函數(shù)等。Math類提供的方法都是靜態(tài)的,可以直接調(diào)用,無需實例化。

Math類常用的方法:方法名功能描述abs(doublea)絕對值ceil(doublea)得到不小于某數(shù)的最小整數(shù)floor(doublea)得到不大于某數(shù)的最大整數(shù)round(doublea)四舍五入返回int型或者long型max(doublea,doubleb)求兩數(shù)中較大值min(doublea,doubleb)求兩數(shù)中較小值sin(doublea)正弦tan(doublea)正切cos(doublea)余弦sqrt(doublea)平方根pow(doublea,doubleb)第一個參數(shù)的第二個參數(shù)次冪的值random()返回在0.0和1.0之間的數(shù),大于0.0,小于1.04.5基礎(chǔ)類的使用4.5.2

Date類的使用Date類用來表示日期和時間,該時間是一個長整型(long),精確到毫秒。

Date類常用的方法:方法名功能描述Date()默認構(gòu)造方法,創(chuàng)建一個Date對象并以當前系統(tǒng)時間來初始化該對象Date(longdate)構(gòu)造方法,以指定的long值初始化一個Date對象,該long值是自1970年1月1日00:00:00GMT時間以來的毫秒數(shù)booleanafter(Datewhen)判斷日期是否在指定日期之后,如果是則返回ture,否則返回falsebooleanbefore(Datewhen)判斷日期是否在指定日期之前,如果是則返回ture,否則返回falseintercompareTo(Datedate)與指定日期進行比較,如果相等則返回0,如果在指定日期之前則返回小于0的數(shù);加入過在指定日期之后則返回大于0的數(shù)StringtoSt

溫馨提示

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

評論

0/150

提交評論