php基礎(chǔ)語(yǔ)法之訪問(wèn)修飾限定符_第1頁(yè)
php基礎(chǔ)語(yǔ)法之訪問(wèn)修飾限定符_第2頁(yè)
php基礎(chǔ)語(yǔ)法之訪問(wèn)修飾限定符_第3頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、訪問(wèn)修飾限定符,public , protected , privatepublic,公共的protected,保護(hù)的private,私有的用于描述,一個(gè)成員(屬性,方法)在哪里才能被訪問(wèn)的!PHP是采用類(lèi)的概念,進(jìn)行成員的限制訪問(wèn)的!PHP將訪問(wèn)的代碼,分成三大區(qū)域:類(lèi)內(nèi),類(lèi)外,繼承鏈上類(lèi)內(nèi)!是根據(jù): 成員在哪里定義與成員在哪里訪問(wèn)來(lái)決定類(lèi)內(nèi),類(lèi)外還是繼承鏈上類(lèi)內(nèi)!以屬性$property為例:2 class A public furretion ir_a_funt) var dump(fthis->property);/類(lèi)中* 在父類(lèi)+1 <繼承経)訪何 5e i class

2、BA "成員定義在B類(lèi)! public $propert> 'public property1i-'epublic furrctian in_b_func() 11 var_dump($thi5->property);/在8類(lèi)中訪f可,在本類(lèi)內(nèi)訪問(wèn)12 13 )14 C extends Q public function in_c_f) va r_d ump ($thi s - >prope rty訪問(wèn),在于直乜吭進(jìn)上訪問(wèn))18】9 Sc = flC;2£- var_dLinip(Sc- >property);類(lèi)外-:方冋21 Sr-

3、>in_c_func();/Sc *tint ();2* Sc->in_a_fune();public公共的,指的是,成員在本類(lèi)內(nèi),繼承鏈上的類(lèi)內(nèi),與類(lèi)外,都可以被訪問(wèn)!19 fc = HEW 亡;""st rim j ;1&J TpLhl it proptri Y 廠 string -.19) rpu.blic propertyEtE"in(l'9Qi piiblit pt口pwt I2e var_dump($c- >property);/在類(lèi)外訪冋public21 »c->in_c_func();/在繼承鏈上豹

4、于類(lèi)為訪冋public property22 Sc*>in_b_fLinc();/在本類(lèi)內(nèi)訪Rlpublic Sproperty?* Jc->in_a_func();/在繼承璉Ji的父類(lèi)內(nèi)訪問(wèn)public Spropertyprotected保護(hù)的,指的是,成員在本類(lèi)內(nèi),繼承鏈(子類(lèi),父類(lèi))上的類(lèi)內(nèi)可以被訪問(wèn)Z i Sc = neuj C;szTinglS? rra 匸Ected 乂口periy 5trx口uL2Z; protected pro(ii=rt j "string(22) prctrcled prefwrtiL 1 /vsr_i<iurnF>(&#

5、39;$c: ->prcipEr±y);/丿"生夬爭(zhēng)卜訪 1 Tpr土Edf.2j#un匚f在樂(lè)承讎上的于類(lèi)內(nèi)缺問(wèn)戸尸肚軟氓日$propertSc->in_b_fiinc()j/戟類(lèi)內(nèi)訪Jprsttctad fpreparty p斗 $c->in_*_fune();/在靈承的父類(lèi)內(nèi)訪protected propertyE5Zprivate私有的,指的是,只有本類(lèi)內(nèi),可以訪問(wèn)!0 1 $c = nw C;2. var_dump(Sc ->property);./左類(lèi)外訪 IJprivate 一_- $u -in_uurK);"翌于垂倩訪問(wèn) p

6、rivat<4 fc->in_b_func();/|£類(lèi)毎5問(wèn)private Sproperty m fe*>in_a_func();/在Notice: '-.odsfined propezlr:匚:SpsL'cuperty ia E:1 it 和11色Net ice: Ltwief inedl “吩亡“即 C: :$prwe*Tv In t:1 -F _ F?cn工 M 邸燉血】.pF h-*lt pr fipt r T ¥上的肱英內(nèi)訪問(wèn)private |.Jl&ticf; Vndefi43ed propEFTF;匚:in G;

7、wuu如何選擇:一個(gè)原則,盡量體現(xiàn)封裝性。封裝性,指的是,盡量隱藏內(nèi)部實(shí)現(xiàn),而僅僅開(kāi)發(fā)外部操作接口!,而僅僅留下一些必語(yǔ)法上,就是,將不需要外部使用的屬性,方法,都私有化(保護(hù)化) 要的公共方法!汪意1,重寫(xiě)的問(wèn)題,一定要先明確訪問(wèn)的究竟是哪里所定義的!clas B 5 成貝毘義在B類(lèi)丨public Jproperty = "in 日 public property<br>'public function. in-b -FwncC) var_dump|lthis->propei*ty>/在B類(lèi)中訪問(wèn)f在本類(lèi)內(nèi)訪間class C ext審耳了121415

8、16171819ds B public Jproperty = Fin 匚 public propertyttir1";public function in_cfcfunc() var_dlUFi)p($thi s *>propert y星皐廷茸近內(nèi) 圓J丄芒 丞(ii.上 訪.問(wèn)$o = nevj C; Io->in_c_func(); $o->in_b_func();私有成員的重寫(xiě)問(wèn)題。意味著,;hllpAwtlOtlwinVTllv| 豐 |辛 - -l.lOOxom ?2,;-h|>1 4CS克H酊站瑕 S>±» ._ E陽(yáng)與

9、址string (M) T"c t -r -i n-e f 勺 J,、匚 publii 匸 pFojS2,私有成員不能被重寫(xiě)。clasf B "咸員定義在呂墊】 public fpublic_p F in 6 public h; pnot«qted Jprotect»d_p = 'in B protacted h;Spi*opgfy2 ' in 8 public prop(rty<br> pUElic runcticn inbfuncO var_dump($this->prQperty );/ /+ 訪問(wèn) * f在相應(yīng)的

10、私有屬性定義的類(lèi)中, 才能訪問(wèn)到相應(yīng)的私有屬性!4 W /Art.php - Mozih Krdc»立中 e iflwii 昶1011C extend» B public fpublic_p = 'in C public h; protected iprotectedp 'in t protected' private $property 1'in C publi匚 propsrt<br>public function in_c_func(J v*r_dup(SthiS'>prop»rty)內(nèi)館i可.tob

11、jecT :C =】“)(hubllsj同=Lriaa -11) "lil C publltT._p>nei:Tt j_pr :prDtecLtd_ =; strips: 14fi "'In Cpr轉(zhuǎn)席:privax®?STrifS8tf4:i *i« C jxibH< p: QfjcrTF<br>'r rprqperty* -甘:privares>trins"in B> public 匕珅亡嗆瑋應(yīng)”2021T> TId - n«w C; 'xar_u-P($c j注意

12、,在處理私有屬性時(shí),一定要確定其定義位置!建議是如果需要通過(guò)繼承,你就使用保護(hù)的,少用私有的! 在沒(méi)有繼承時(shí),盡量使用私有的!3,在重寫(xiě)時(shí),如果重寫(xiě)成員的訪冋級(jí)別不一致。 子類(lèi)的級(jí)別比父類(lèi)的級(jí)別,相等或者弱,可以! 強(qiáng),不行!php.itcast.c n4 cljiss A protected functionecho 'in A *1F;7g 1JB extendw A £“'J.UI-:Oc ta- 3 . fi # E * J*private function 1() 11* in B fl'12 Fa.t&L error. Au匚ecs 1=.

13、 el to B_ .fl 'J nu.= r be pznts-cted Ea:五 in 匚 1ar Trexler13 -apuh-ch173*. pLp aa line 1 豈1 14IS竣呼如的仿問(wèn)圾別心領(lǐng)是曼陳護(hù)旳或者更劈4,兼容性的問(wèn)題 早先的php的面向?qū)ο蟛煌晟疲瑳](méi)有訪問(wèn)控制 ! 在聲明屬性時(shí),使用 var關(guān)鍵字! 聲明方法時(shí),什么都不使用!function為了兼容,上面的做法還是可以使用!var,function。訪問(wèn)權(quán)限都是 public的!16 class C 17 var $name;18 function fl() 19 20 2122 class d 23

14、public $name;24 public function f1() 冒泡排序相鄰的兩個(gè)數(shù)比較,大數(shù)向后走! 模擬待排序序列:241167109234511246710923451124671092345112410679234511241096723451124109236745112410923456711241092345671110249234567111092423456711109232445671110923244567明顯,需要N-1輪就可以排序出來(lái)結(jié)果!每輪內(nèi),需要對(duì)余下的元素依次做相鄰的元素之間的比較!計(jì)算關(guān)系:$total = 7;輪數(shù)參與比較次數(shù)比較160,1|1,

15、2|2,3| -15,60- (7-1) -1250,1|1,2| -4,5340,1|-3,4O O OO O O610,1公式:比較次數(shù)=總元素個(gè)數(shù)-輪數(shù)!其次,需要控制那兩個(gè)元素參與比較? 確定第一個(gè)參與比較的元素即可:從0到總元素個(gè)數(shù)-1-當(dāng)前輪數(shù)交換元素位置,找到第三個(gè)變量! 編程實(shí)現(xiàn)?雙層循環(huán),外層比較輪數(shù),內(nèi)層控制比較元素下標(biāo)!function bubblesort (&S1i st) 13 "控制輪散14 for($i=l,$list_len=count(Slist: $i<llist_len; *$i) 15 "蔘與Lt較囪元索下標(biāo)lofor

16、(Jk=0; $,k<=$list_len-l-$i; +$k) 17比較+ $le與 尤素做比欽ifl(Sl±st$k > $list$k+lj 19'"交擬26$tmp = $list$k;21 $list$k = ilist$k+l;22 Slist$k+l * £tmp;23 2A2526 / return true;27 2S Slist = arrays% 11 67, 10 9, 23, 45);2S bubbleSortSiist);排序就是消滅逆序的過(guò)程!預(yù)習(xí)final,抽象,接口序列化自動(dòng)加載單例模式,工廠模式作業(yè)1,要求升級(jí)mysqldb,盡量體現(xiàn)封裝性!2,升級(jí)mysqldb,提取執(zhí)行SQL的方法,凡是執(zhí)行 SQL,都需要調(diào)用該方法實(shí)現(xiàn)!3,要求增加fetchAII的方法,功能時(shí)得到一條查詢類(lèi)的sql語(yǔ)句,返回所有的結(jié)果數(shù)組!104 $sql = "select 粗 from sele匚t_student"

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論