




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE8PAGE8PAGE7PAGE7
課題面向?qū)ο蟮某绦蜷_(kāi)發(fā)課時(shí)2課時(shí)(90min)教學(xué)目標(biāo)知識(shí)技能目標(biāo):(1)了解面向?qū)ο蟮母拍睿?)了解類和對(duì)象的關(guān)系(3)掌握類中變量和方法的應(yīng)用素質(zhì)目標(biāo):(1)能夠領(lǐng)會(huì)PHP面向?qū)ο蟮某绦蜷_(kāi)發(fā)的理念,在生活中學(xué)以致用(2)培養(yǎng)精益求精、科學(xué)嚴(yán)謹(jǐn)、追求卓越的工匠精神(3)緊跟時(shí)代發(fā)展,了解前沿科技,樹(shù)立科技報(bào)國(guó)的人生理想教學(xué)重難點(diǎn)教學(xué)重點(diǎn):類和對(duì)象教學(xué)難點(diǎn):類中變量和方法的應(yīng)用教學(xué)方法案例分析法、問(wèn)答法、討論法、講授法、實(shí)踐法教學(xué)用具電腦、投影儀、多媒體課件、教材教學(xué)設(shè)計(jì)第1節(jié)課:→→→傳授新知(38min)第2節(jié)課:→傳授新知(20min)→課堂實(shí)訓(xùn)(15min)→課堂小結(jié)(3min)→作業(yè)布置(2min)教學(xué)過(guò)程主要教學(xué)內(nèi)容及步驟設(shè)計(jì)意圖第一節(jié)課課前任務(wù)【教師】布置課前任務(wù),和學(xué)生負(fù)責(zé)人取得聯(lián)系,讓其提醒同學(xué)通過(guò)文旌課堂APP或其他學(xué)習(xí)軟件,預(yù)習(xí)本節(jié)課要學(xué)習(xí)的知識(shí)【學(xué)生】完成課前任務(wù)通過(guò)課前任務(wù),使學(xué)生預(yù)習(xí)本節(jié)課要學(xué)習(xí)的知識(shí),增加學(xué)生的學(xué)習(xí)興趣考勤(2min)【教師】使用文旌課堂APP進(jìn)行簽到【學(xué)生】班干部報(bào)請(qǐng)假人員及原因培養(yǎng)學(xué)生的組織紀(jì)律性,掌握學(xué)生的出勤情況問(wèn)題導(dǎo)入(5min)【教師】提出以下問(wèn)題:面向?qū)ο缶幊痰睦砟钍菑纳钪谐橄蟪鰜?lái)的,你能舉出生活中類和對(duì)象的相關(guān)的例子嗎?通過(guò)問(wèn)題導(dǎo)入,引導(dǎo)學(xué)生主動(dòng)思考,激發(fā)學(xué)生的學(xué)習(xí)興趣傳授新知(38min)【教師】通過(guò)學(xué)生的回答引入要講的知識(shí),講解面向?qū)ο蟮某绦蜷_(kāi)發(fā)的相關(guān)知識(shí)8.1面向?qū)ο蟮幕靖拍?【教師】安排學(xué)生掃碼觀看視頻“面向?qū)ο蟮幕靖拍睢保v解知識(shí)?【學(xué)生】掃碼觀看、理解、記憶此處的面向?qū)ο?,?zhǔn)確地說(shuō)應(yīng)該叫作“面向?qū)ο缶幊獭?。面向?qū)ο缶幊蹋╫bjectorientedprogramming,OOP)是一種計(jì)算機(jī)編程架構(gòu),它能使代碼更加簡(jiǎn)潔,更易于維護(hù),并且具有更強(qiáng)的可重用性。?【教師】講解“大國(guó)工匠”中的內(nèi)容,增強(qiáng)學(xué)生的集體榮譽(yù)感,樹(shù)立科技報(bào)國(guó)的理想汪成為,于1994年當(dāng)選為首批中國(guó)工程院院士,曾任國(guó)家“863計(jì)劃”專家委員會(huì)委員、信息領(lǐng)域首席科學(xué)家、智能計(jì)算機(jī)專家組組長(zhǎng)、國(guó)家“973計(jì)劃”專家委員會(huì)委員,曾獲何梁何利基金“科學(xué)與技術(shù)進(jìn)步獎(jiǎng)”、中國(guó)計(jì)算機(jī)學(xué)會(huì)終身成就獎(jiǎng)等榮譽(yù)。早在2004年,中國(guó)工程院第七次院士大會(huì)上,汪院士對(duì)21世紀(jì)初信息技術(shù)發(fā)展趨勢(shì)做出預(yù)判,他提出,網(wǎng)絡(luò)技術(shù)將發(fā)展為協(xié)同計(jì)算;多媒體技術(shù)將發(fā)展為虛擬現(xiàn)實(shí);面向?qū)ο蠹夹g(shù)將發(fā)展為面向智能體技術(shù);嵌入技術(shù)將發(fā)展為普適技術(shù)。在這些技術(shù)的支持下,21世紀(jì)初,有望實(shí)現(xiàn)一個(gè)智能化的人機(jī)和諧環(huán)境。10多年后,基于虛擬計(jì)算、異構(gòu)網(wǎng)絡(luò)、人工智能理念所研發(fā)的智能物流、智能管家、智能汽車等應(yīng)用正逐步實(shí)現(xiàn)。8.1.1類和對(duì)象的關(guān)系算術(shù)運(yùn)算符是最簡(jiǎn)單和最常用的運(yùn)算符,用于進(jìn)行四則運(yùn)算,尤其是對(duì)數(shù)字的處理,幾乎都要用到算術(shù)運(yùn)算符。類(class)和對(duì)象(object)是面向?qū)ο缶幊痰暮诵母拍睢n愂菍?duì)一類事物的描述,它定義了事物的抽象特點(diǎn),類的定義包含了數(shù)據(jù)的形式及對(duì)數(shù)據(jù)的操作。對(duì)象是類的實(shí)例,是實(shí)際存在的該類事物的某個(gè)個(gè)體。在計(jì)算機(jī)中,可以將類理解為一個(gè)抽象模型,而對(duì)象是實(shí)實(shí)在在存儲(chǔ)在內(nèi)存區(qū)域中的一個(gè)實(shí)體。簡(jiǎn)單來(lái)說(shuō),類是用于生成對(duì)象的代碼模塊。同很多面向?qū)ο蟮恼Z(yǔ)言一樣,PHP也是通過(guò)關(guān)鍵字class加類名來(lái)定義類的,與一個(gè)類關(guān)聯(lián)的代碼必須用大括號(hào)括起來(lái)。其定義的格式如下:<?phpclassSimpleClass{//類體}?>類名可以是任意數(shù)字和字母的組合,但不能以數(shù)字開(kāi)頭。一般采用首字母大寫(xiě),而后每個(gè)單詞首字母大寫(xiě)的形式定義類名,以便于閱讀。上面定義的SimpleClass是一個(gè)最簡(jiǎn)單的類,僅有一個(gè)框架,但這并不影響其存在。如果把類看作生成對(duì)象的模板,則對(duì)象就是根據(jù)該模板構(gòu)造的數(shù)據(jù)。例如,可以把SimpleClass類作為生成SimpleClass對(duì)象的模型,其定義的格式如下:<?phpclassSimpleClass{//類體}$S=newSimpleClass();?>上述代碼使用“new”關(guān)鍵字創(chuàng)建了一個(gè)SimpleClass的對(duì)象。8.1.2類中的變量類中的變量是指在class中聲明的變量,稱為成員變量(也稱屬性或字段),用于存放數(shù)據(jù)信息。成員變量與普通變量相似,其定義的格式如下:key$age="23";關(guān)鍵字key可以是public,protected,private,static和final中的任意一個(gè)。public(公有):表示變量在類的內(nèi)部和外部都可以被讀取和修改。protected(受保護(hù)):表示變量可以被其自身及其子類和父類讀取和修改。private(私有):表示變量只能被其定義所在的類訪問(wèn)。這些關(guān)鍵字不僅可用于修飾變量,也可用于類和方法。static和final的應(yīng)用將在8.3節(jié)詳細(xì)介紹。要訪問(wèn)成員變量,可以使用“->”符號(hào)連接對(duì)象和變量名。在方法(函數(shù))內(nèi)部通過(guò)“$this->”訪問(wèn)同一對(duì)象的變量。?【教師】通過(guò)多媒體展示例8-1的代碼和運(yùn)行結(jié)果,并進(jìn)行講解<?phpclassSimpleClass{public$nationality="China"; //定義公有變量$nationality public$age="23"; //定義公有變量$age}$S=newSimpleClass(); //創(chuàng)建對(duì)象echo"女孩的國(guó)籍是:".$S->nationality."<br>"; //輸出對(duì)象$S的屬性$nationalityecho"女孩的年齡是:".$S->age; //輸出對(duì)象$S的屬性$age?>例8-1中為類定義了兩個(gè)變量,并設(shè)置了初始值,也可以在變量定義時(shí)不設(shè)置初始值。PHP并沒(méi)有強(qiáng)制變量必須在類中聲明,可以隨時(shí)動(dòng)態(tài)增加變量到對(duì)象。如以下代碼:$S->age=23;但是這種用法并不好,一般不建議使用。private修飾的變量不能在當(dāng)前對(duì)象之外被直接訪問(wèn),一般用于隱藏?cái)?shù)據(jù),以保證某些數(shù)據(jù)的安全。在PHP中,指向?qū)ο蟮淖兞渴且米兞浚撟兞坷锎鎯?chǔ)的是所指向?qū)ο蟮膬?nèi)存地址。引用變量傳值時(shí),傳遞的是對(duì)象的地址,而非復(fù)制該對(duì)象。$S=newSimpleClass();$S1=$S;此處是引用傳遞,$S1與$S指-向同一個(gè)內(nèi)存地址。?【教師】通過(guò)多媒體展示例8-2的代碼和運(yùn)行結(jié)果,并進(jìn)行講解引用傳遞的應(yīng)用。實(shí)例代碼如下:<?phpclassSimpleClass{public$nationality="China"; //定義共有變量$nationality}$S=newSimpleClass(); //創(chuàng)建對(duì)象$S1=$S;$S1->nationality="England"; //改變$S1的nationality屬性值echo"對(duì)象S1的nationality屬性值是:".$S1->nationality."<br>"; //輸出對(duì)象$S1的屬性$nationality值echo"對(duì)象S的nationality屬性值是:".$S->nationality;//$S的屬性$nationality值?>由圖8-2可以看出,兩個(gè)對(duì)象的nationality屬性值都為“England”,說(shuō)明$S1和$S指向的是同一個(gè)對(duì)象。8.1.3類中的方法類中的方法(又叫成員方法)是指在類中聲明的特殊函數(shù)。它與普通函數(shù)的區(qū)別在于,普通函數(shù)實(shí)現(xiàn)的是某個(gè)獨(dú)立的功能;而成員方法是實(shí)現(xiàn)類的一個(gè)行為,是類的一部分。其定義的格式如下:publicfunctionsetAge($age){$this->age=$age;//方法體}?【教師】通過(guò)多媒體展示例8-3的代碼和運(yùn)行結(jié)果,并進(jìn)行講解成員方法的定義與使用。實(shí)例代碼如下:<?php $a=-300; //聲明變量$a $b=120; //聲明變量$b<?phpclassSimpleClass{/*成員變量*/public$age=23;/*成員方法*/publicfunctionsetAge($age){$this->age=$age;}publicfunctiongetAge(){return$this->age;}}$a=newSimpleClass(); //創(chuàng)建對(duì)象$a->setAge("26"); //改變$a的age值echo$a->getAge(); //輸出改變后的值?>例8-3中定義成員方法時(shí)定義了參數(shù)$age,使用該方法時(shí),可以向方法內(nèi)部傳遞參數(shù)變量。方法內(nèi)接收到的變量是局部變量,僅在方法內(nèi)部有效??梢酝ㄟ^(guò)向?qū)傩詡鬟f變量值的方式,讓該變量應(yīng)用于整個(gè)對(duì)象。同屬性的訪問(wèn)一樣,可以使用“->”連接對(duì)象和方法名來(lái)調(diào)用方法,所不同的是,調(diào)用方法時(shí)必須帶有圓括號(hào)(參數(shù)可選)。在PHP中,如果聲明類的方法時(shí)帶有參數(shù),而調(diào)用該方法時(shí)沒(méi)有傳遞參數(shù),或者參數(shù)數(shù)量不夠,系統(tǒng)會(huì)報(bào)錯(cuò)。如果參數(shù)數(shù)量超過(guò)方法本身定義參數(shù)的數(shù)量,系統(tǒng)會(huì)忽略后面多出來(lái)的參數(shù),不會(huì)報(bào)錯(cuò)。PHP允許在定義函數(shù)時(shí)為參數(shù)設(shè)定默認(rèn)值。在調(diào)用該方法時(shí)若沒(méi)有傳遞參數(shù),系統(tǒng)會(huì)使用默認(rèn)值填充該參數(shù)變量。同時(shí)還允許向一個(gè)方法內(nèi)部傳遞另一個(gè)對(duì)象的引用。?【教師】通過(guò)多媒體展示例8-4的代碼和運(yùn)行結(jié)果,并進(jìn)行講解引用對(duì)象。實(shí)例代碼如下:<?phpclassm{public$age=23;}classn{publicfunctiongetAge($a){return$a->age;}}$a=newm();$P=newn();echo$P->getAge($a);?>【學(xué)生】聆聽(tīng)、思考、記錄通過(guò)教師的講解和演示,使學(xué)生了解面向?qū)ο蟮某绦蜷_(kāi)發(fā)的相關(guān)知識(shí)第二節(jié)課問(wèn)題導(dǎo)入(5min)【教師】提出以下問(wèn)題:每一個(gè)對(duì)象都是從類中實(shí)例化出來(lái)的,但這些對(duì)象都有自己不同的屬性,那么怎樣在實(shí)例化對(duì)象的時(shí)候給對(duì)象初始化一些變量呢?對(duì)于構(gòu)造出來(lái)的對(duì)象在使用完成之后又如何刪除呢?【學(xué)生】思考、舉手回答通過(guò)問(wèn)題導(dǎo)入,引導(dǎo)學(xué)生主動(dòng)思考,激發(fā)學(xué)生的學(xué)習(xí)興趣傳授新知(20min)【教師】通過(guò)學(xué)生的回答引入新知,介紹構(gòu)造和析構(gòu)方法8.1.4構(gòu)造方法當(dāng)將一個(gè)類實(shí)例化為一個(gè)對(duì)象時(shí),可能同時(shí)需要初始化一些變量。下面定義了一個(gè)類,代碼如下:classSimpleClass{public$name="糖糖"; //定義公有變量$namepublic$height="172"; //定義公有變量$heightpublic$nationality="China"; //定義公有變量$nationalitypublic$sex="女"; //定義公有變量$sexpublic$age="23"; //定義公有變量$age}下面將類SimpleClass聲明為一個(gè)對(duì)象,并為該類的一些成員變量賦初值。代碼如下:$girl=newSimpleClass('糖糖','172','China','女','23'); //實(shí)例化類,并傳遞參數(shù)$girl->name="糖糖"; //為變量$name賦值$girl->height="172"; //為變量$height賦值$girl->nationality="China"; //為變量$nationality賦值$girl->sex="女"; //為變量$sex賦值$girl->age="23"; //為變量$age賦值由以上代碼可以看出,如果賦值較多,程序?qū)懫饋?lái)會(huì)特別麻煩。為此,PHP引入了構(gòu)造方法。構(gòu)造方法是一種特殊的方法,主要用于在創(chuàng)建對(duì)象時(shí)初始化對(duì)象,即為對(duì)象成員變量賦初始值,其總與new運(yùn)算符一起在創(chuàng)建對(duì)象的語(yǔ)句中使用。定義構(gòu)造方法的格式如下:void__construct([mixed$args[,$...]])上式中的“__”是兩條下畫(huà)線“_”。?【教師】通過(guò)多媒體展示例8-5的代碼和運(yùn)行結(jié)果,并進(jìn)行講解構(gòu)造方法。下面通過(guò)具體實(shí)例來(lái)查看構(gòu)造方法的應(yīng)用,體會(huì)它與普通成員方法的不同之處。實(shí)例代碼如下:<?phpclassSimpleClass{ publicfunction__construct($name,$height,$nationality,$sex,$age){//定義構(gòu)造方法 $this->name=$name; //為變量$name賦值 $this->height=$height; //為變量$height賦值 $this->nationality=$nationality; //為變量$nationality賦值 $this->sex=$sex; //為變量$sex賦值 $this->age=$age; //為變量$age賦值 } publicfunctionmodelsize(){ //聲明成員方法 if($this->height<180and$this->age<20){ return$this->name.",符合模特招聘的要求!"; //方法實(shí)現(xiàn)的功能 }else{ return$this->name.",不符合模特招聘的要求!"; //方法實(shí)現(xiàn)的功能 } }}$girl=newSimpleClass('糖糖','172','China','女','16'); //實(shí)例化類,并傳遞參數(shù)echo$girl->modelsize(); //執(zhí)行類中的方法?>由例8-5可以看出,使用構(gòu)造方法,在將方法實(shí)例化為對(duì)象時(shí),只需一條語(yǔ)句即可完成對(duì)成員變量的賦值操作。8.1.5析構(gòu)方法析構(gòu)方法(析構(gòu)函數(shù))與構(gòu)造方法正好相反,當(dāng)對(duì)象結(jié)束其生命周期時(shí)(如對(duì)象所在函數(shù)已調(diào)用完畢),系統(tǒng)自動(dòng)執(zhí)行析構(gòu)函數(shù)以釋放內(nèi)存。定義析構(gòu)函數(shù)的格式如下:void__destruct(void)-?【教師】通過(guò)多媒體展示例8-6的代碼和運(yùn)行結(jié)果,并進(jìn)行講解引用對(duì)象。實(shí)例代碼如下:<?phpclassDestructable{function__destruct(){echo"執(zhí)行析構(gòu)函數(shù)";}}$obj=newDestructable();f
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中美術(shù)考試題及答案
- 客戶信息收集與維護(hù)記錄表模板
- 生產(chǎn)進(jìn)度跟蹤與質(zhì)量控制表
- 我的校園美好生活記作文(8篇)
- 高級(jí)花卉工考試題及答案
- 2025年病案編碼員考試題庫(kù)資格證考試模擬試題(附答案)
- 2025年丙肝培訓(xùn)考試題和答案
- 水電組 勞務(wù)分包合同6篇
- 2025貴陽(yáng)學(xué)院人才引進(jìn)15人考前自測(cè)高頻考點(diǎn)模擬試題及一套答案詳解
- 人力資源管理流程標(biāo)準(zhǔn)化實(shí)施流程工具
- 靜脈輸液藥物外滲應(yīng)急快速處理指南
- 人工智能與核醫(yī)學(xué)的深度融合與應(yīng)用探索
- 關(guān)于三違管理辦法
- 成人高考專升本政治考試歷年真題(含答案)
- GB/T 15704-2025道路車輛輕合金車輪沖擊試驗(yàn)方法
- GB/T 10819-2025木制底盤(pán)
- 女生青春期性教育核心知識(shí)框架
- 船舶消防救生培訓(xùn)課件
- 貴州貴州磷化有限責(zé)任公司招聘筆試真題2024
- 2023中國(guó)臨床腫瘤學(xué)會(huì)(CSCO)非小細(xì)胞肺癌診療指南
- 中興信息安全管理制度
評(píng)論
0/150
提交評(píng)論