版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
面向?qū)ο蠹夹g(shù)本章目標(biāo)理解對(duì)象理解類理解抽象和封裝理解對(duì)象與類之間的關(guān)系掌握包的創(chuàng)建和導(dǎo)入面向?qū)ο缶幊谈拍?/p>
面向?qū)ο缶幊淌且环N創(chuàng)建計(jì)算機(jī)程序的方法,它模仿了現(xiàn)實(shí)世界中的物體被組合在一起的方式。生活實(shí)例:猜拳游戲前提:有兩個(gè)要進(jìn)行猜拳比賽的選手,一個(gè)裁判。動(dòng)作:1、兩名選手入場(chǎng)。
2、裁判入場(chǎng)。
3、開始三局兩勝比賽。
4、選手出拳,由裁判判斷輸贏,并給贏家加1分。
5、比賽結(jié)束后,由裁判宣讀比賽結(jié)果。演示Java語(yǔ)言面向?qū)ο蟪绦蛎嫦驅(qū)ο蟪绦蜓菔久嫦驅(qū)ο笳Z(yǔ)言的工作特點(diǎn)
面向?qū)ο笳Z(yǔ)言編寫的計(jì)算機(jī)程序,將重點(diǎn)放在要求計(jì)算機(jī)完成的任務(wù)上。計(jì)算機(jī)程序被視為一組相互協(xié)同、共同完成任務(wù)的對(duì)象。每個(gè)對(duì)象都是程序的獨(dú)立部分,它以特定的、高度可控的方式與其他部分進(jìn)行交互。猜拳游戲?qū)ο?/p>
對(duì)象是系統(tǒng)中用來(lái)描述客觀事物的一個(gè)實(shí)體,它是構(gòu)成系統(tǒng)的一個(gè)基本單位。對(duì)象由一組屬性和對(duì)這組屬性進(jìn)行操作的一組服務(wù)組成對(duì)象是實(shí)現(xiàn)域中某些事物的一個(gè)抽象對(duì)象反映該事物在系統(tǒng)中需要保存的信息和發(fā)揮的作用對(duì)象是一組屬性和有權(quán)對(duì)這些屬性進(jìn)行操作的一組服務(wù)的封裝體客觀世界是由對(duì)象和對(duì)象之間的聯(lián)系組成的對(duì)象裁判對(duì)象姓名:John得分:1出拳結(jié)果:石頭動(dòng)作:出拳加分姓名:Lisa得分:1出拳結(jié)果:剪子動(dòng)作:出拳加分姓名:Dave動(dòng)作:判斷每局勝負(fù)通知選手加分公布比賽結(jié)果選手對(duì)象選手對(duì)象類把眾多的事物歸納、劃分成一些類是人類在認(rèn)識(shí)客觀世界時(shí)經(jīng)常采用的思維方法。分類的原則是抽象。屬性:姓名服務(wù):判斷每局勝負(fù)通知選手加分公布比賽結(jié)果屬性:姓名得分出拳結(jié)果服務(wù):出拳加分裁判類選手類類類的特征
具有相同屬性和服務(wù)的一組對(duì)象的集合為屬該類的對(duì)象提供抽象描述
內(nèi)部包括屬性和服務(wù)類與對(duì)象的關(guān)系如模具和鑄件的關(guān)系類的實(shí)例化就是對(duì)象一類對(duì)象的抽象就是類屬性屬性是對(duì)象區(qū)別于其他對(duì)象的數(shù)據(jù),可用于確定屬于該類的對(duì)象的外觀、狀態(tài)和其他性質(zhì)。屬性
姓名得分出拳結(jié)果Lisa1分剪子===實(shí)例變量
實(shí)例變量定義了特定對(duì)象的屬性。對(duì)象的類定義了屬性的類型,每個(gè)實(shí)例都存儲(chǔ)了自己的屬性值。實(shí)例變量也叫對(duì)象變量。選手對(duì)象選手對(duì)象內(nèi)存……John2分石頭Lisa1分剪子姓名得分出拳結(jié)果姓名得分出拳結(jié)果0類變量
類變量定義了類的屬性類變量用于類本身及其所有的實(shí)例,不管使用該類創(chuàng)建了多少個(gè)對(duì)象,都只存儲(chǔ)該變量的一個(gè)值內(nèi)存…………類變量:選手人數(shù)創(chuàng)建對(duì)象對(duì)象1+112對(duì)象2Lisa2分2對(duì)象的類行為
行為指的是對(duì)象能夠?qū)ψ陨砗推渌麑?duì)象執(zhí)行的操作。行為可以用來(lái)修改對(duì)象的屬性,接收來(lái)自其他對(duì)象的信息以及向其他對(duì)象發(fā)送消息讓它們執(zhí)行任務(wù)。裁判對(duì)象選手對(duì)象內(nèi)存……John2分3Lisa1分2Lisa獲勝加1分執(zhí)行加分方法方法方法是類中用來(lái)完成某個(gè)任務(wù)的一組相關(guān)語(yǔ)句。針對(duì)對(duì)象執(zhí)行特定的任務(wù)對(duì)象之間能夠通過(guò)方法彼此進(jìn)行通信與C語(yǔ)言中的函數(shù)和子程序相同將變化告知另一個(gè)對(duì)象讓其他對(duì)象對(duì)自身進(jìn)行修改讓其他對(duì)象執(zhí)行某項(xiàng)操作
類方法方法分為實(shí)例方法和類方法。實(shí)例方法通常簡(jiǎn)稱方法,用于處理類的一個(gè)對(duì)象。類方法適用于類本身。屬性:姓名得分出拳結(jié)果類變量:選手人數(shù)方法:出拳加分類方法:獲取選手總?cè)藬?shù)選手類數(shù)據(jù)抽象
抽象是處理事物復(fù)雜性的方法:只關(guān)注事物的重要細(xì)節(jié),而忽略事物的次要細(xì)節(jié)。數(shù)據(jù)抽象:抽取出關(guān)鍵數(shù)據(jù)抽取出屬性和方法選手出拳結(jié)果選手姓名選手得分查看出拳值查看得分更新得分初始化對(duì)象選手類類對(duì)象經(jīng)過(guò)人類的抽象動(dòng)物用一個(gè)叫“動(dòng)物”的類來(lái)概括它們 類與對(duì)象——面向?qū)ο蟮暮诵母拍铑惖亩x修飾符class類名{
type
instance-variable1;…type
methodname1(parameter-list)
{
//
body
of
method
}
}類:對(duì)某一類事物的描述,抽象的、概念上的定義對(duì)象:實(shí)際存在的該類事物的個(gè)體,也稱實(shí)例。類與對(duì)象類的定義classPerson{intage;
voidshout(){System.out.println("Oh,mygod!myageis"+age);}}屬性age方法shout類是數(shù)據(jù)和方法的集合;類類是具有共同屬性和行為的對(duì)象的抽象。類可以定義為數(shù)據(jù)和方法的集合。對(duì)象具有特殊屬性和行為方式的實(shí)體。類對(duì)象抽象實(shí)例化封裝的實(shí)體=數(shù)據(jù)+方法操作或行為屬性或狀態(tài)方法數(shù)據(jù)或變量在Java中創(chuàng)建類class類名稱{//類開始標(biāo)記}//類結(jié)束標(biāo)記屬性聲明;方法聲明;Java語(yǔ)言中定義類的語(yǔ)法在Java中創(chuàng)建類類的命名規(guī)則:不能為Java中的關(guān)鍵字不能包含空格或點(diǎn)號(hào)“.”只能以下劃線“_”、“$”符號(hào)或字母開頭class
Person{
String
name;//定義參賽選手名字
intscore;//定義參賽選手得分
intgiveNum;//定義參賽選手本輪的出拳}
在Java類中定義方法返回值類型方法名稱{//方法開始標(biāo)記}//方法結(jié)束標(biāo)記方法主體Java語(yǔ)言中定義方法的語(yǔ)法(參數(shù)1,參數(shù)2,……
參數(shù)n)在Java類中定義方法class
Person{
String
name;//定義參賽選手名字
int
score;//定義參賽選手得分
int
giveNum;//定義參賽選手本輪的出拳
//返回該參賽選手的名字
public
String
getName()
{
return
name;
}
…
…}構(gòu)造方法構(gòu)造方法是一個(gè)特殊的方法:Java中的每個(gè)類都有構(gòu)造方法創(chuàng)建類實(shí)例時(shí)調(diào)用的方法與類同名,但沒有返回類型Java為對(duì)象分配內(nèi)存,初始化實(shí)例變量并調(diào)用構(gòu)造方法構(gòu)造方法只能由new運(yùn)算符調(diào)用兩種構(gòu)造方法:參數(shù)化構(gòu)造方法隱式構(gòu)造方法構(gòu)造方法參數(shù)化構(gòu)造方法classPerson{
Stringname;//定義參賽選手名字
intscore;//定義參賽選手得分
intgiveNum;//定義參賽選手本輪的出拳
Person(Stringna)//構(gòu)造方法
{ name=na; score=0;
}}
構(gòu)造方法隱式構(gòu)造方法classPerson{
Stringname;//定義參賽選手名字
intscore;//定義參賽選手得分
intgiveNum;//定義參賽選手本輪的出拳
}
創(chuàng)建對(duì)象時(shí)自動(dòng)創(chuàng)建一個(gè)無(wú)參數(shù)的構(gòu)造方法方法重載方法重載是指多個(gè)方法享有相同的方法名。重載的方法具備如下特點(diǎn):方法的參數(shù)必須不同方法參數(shù)的個(gè)數(shù)不同參數(shù)類型不同返回類型不能用來(lái)區(qū)分重載的方法
方法重載
Person()//構(gòu)造方法
{
name=
“選手”;//給姓名賦初值
score=0;//給成績(jī)賦初值
}
Person(String
na)//構(gòu)造方法
{
name=na;//給姓名賦初值
score=
0;//給成績(jī)賦初值
}
Person(String
na,int
sc)//構(gòu)造方法
{
name=na;//給姓名賦初值
score=
0;//給成績(jī)賦初值
}構(gòu)造方法重載創(chuàng)建對(duì)象類實(shí)例化可生成對(duì)象,對(duì)象通過(guò)消息傳遞來(lái)進(jìn)行交互。消息傳遞即激活指定的某個(gè)對(duì)象的方法以改變其狀態(tài)或讓它產(chǎn)生一定的行為。一個(gè)對(duì)象的生命周期包括三個(gè)階段:生成、使用和消除。創(chuàng)建對(duì)象創(chuàng)建對(duì)象
聲明實(shí)例化初始化類對(duì)象名稱
=
new
構(gòu)造方法(參數(shù))//實(shí)例化對(duì)象選手JohnPersonp1
=
newPerson("John");//實(shí)例化對(duì)象選手LisaPersonp2
=
newPerson("Lisa");//實(shí)例化裁判DaveJudgmentj1
=
newJudgment("Dave"); 對(duì)象的使用通過(guò)運(yùn)算符“.”可以實(shí)現(xiàn)對(duì)變量的訪問(wèn)和方法的調(diào)用。變量和方法可以通過(guò)設(shè)定訪問(wèn)權(quán)限來(lái)限制其它對(duì)象對(duì)它的訪問(wèn)。調(diào)用對(duì)象的變量格式:對(duì)象名.屬性名調(diào)用對(duì)象的方法格式:對(duì)象名.方法名(參數(shù)列表);
classCompareTwo{
publicstaticvoidmain(String[]args) //程序入口
{ ……
/*********************比賽開始*************************/
while(count<3) //根據(jù)進(jìn)行的局?jǐn)?shù)循環(huán)比賽
{ count=count+1; //又開始一論
System.out.println("第"
+count+
"局開始:");
//裁判判決本局哪位選手加分j1.JudgmentOne(p1,p2);
System.out.println("**********************************");
}……
}}對(duì)象方法的使用This引用this指針用于實(shí)例方法內(nèi),指向當(dāng)前對(duì)象this指針的值指向?qū)ζ湔{(diào)用當(dāng)前方法的對(duì)象this關(guān)鍵字在需要當(dāng)前類類型的對(duì)象引用時(shí)使用classPerson{
Stringname;//定義參賽選手名字Person(Stringname)//構(gòu)造方法
{
=
name;//給姓名賦初值
}voidgetName(){
System.out.println("選手姓名:"+name);}
publicstaticvoidmain(String[]args){Personp1=newPerson("王小睛");Personp2=newPerson("李麗");p1.getName();p2.getName();}}="王小睛";=“李麗";包包允許將類組合成較小的單元(類似文件夾),使其易于找到和使用相應(yīng)的類文件。有助于避免命名沖突,包基本上隱藏了類并避免了名稱上的沖突。包允許在更廣的范圍內(nèi)保護(hù)類、數(shù)據(jù)和方法,可以在包內(nèi)定義類,而在包外的代碼不能訪問(wèn)該類。包的創(chuàng)建packagegame.person;importjava.util.Random;public
classPerson{
Stringname;//定義參賽選手名字
intscore;//定義參賽選手得分
intgiveNum;//定義參賽選手本輪的出拳
publicPerson(Stringname)
溫馨提示
- 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度智能家居與智能家居住宅裝修服務(wù)合同3篇
- 全新運(yùn)輸租賃協(xié)議范本:2025年度航空貨運(yùn)租賃合同3篇
- 2025年度農(nóng)產(chǎn)品電商培訓(xùn)與技術(shù)支持合同3篇
- 《居住空間講義》課件
- 2024年~2024年高考語(yǔ)文病句試題匯編及解析
- 2024-2025學(xué)年廣東省廣州外國(guó)語(yǔ)、廣大附中、鐵一中學(xué)等三校高三上學(xué)期期中聯(lián)考物理試題(解析版)
- 《身邊的消防安全》課件
- 單位管理制度集合大合集員工管理
- 單位管理制度匯編大合集人力資源管理篇
- 單位管理制度分享大全職工管理篇十篇
- 電除顫的并發(fā)癥預(yù)防及處理
- 《理想信念教育》課件
- 2023年高級(jí)EHS工程師年度總結(jié)及下年工作展望
- 《城市規(guī)劃原理試題》(附答案)
- 110kV升壓站構(gòu)支架組立施工方案
- 鋼構(gòu)件應(yīng)力超聲檢測(cè)技術(shù)規(guī)程
- -《多軸數(shù)控加工及工藝》(第二版)教案
- 體 育 課 教 學(xué) 評(píng) 價(jià) 量 表
- 23秋國(guó)家開放大學(xué)《漢語(yǔ)國(guó)際教育概論》階段測(cè)驗(yàn)1-2+教學(xué)活動(dòng)1參考答案
- 新員工信息安全課件培訓(xùn)
- 小學(xué)英語(yǔ)-Unit3What would you likePartB Let's talk教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
評(píng)論
0/150
提交評(píng)論