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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

3、>in_c_func();/Sc *tint ();2* Sc->in_a_fune();public公共的,指的是,成員在本類內,繼承鏈上的類內,與類外,都可以被訪問!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);/在類外訪冋public21 »c->in_c_func();/在繼承鏈上豹

4、于類為訪冋public property22 Sc*>in_b_fLinc();/在本類內訪Rlpublic Sproperty?* Jc->in_a_func();/在繼承璉Ji的父類內訪問public Spropertyprotected保護的,指的是,成員在本類內,繼承鏈(子類,父類)上的類內可以被訪問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);/丿"生夬爭卜訪 1 Tpr土Edf.2j#un匚f在樂承讎上的于類內缺問戸尸肚軟氓日$propertSc->in_b_fiinc()j/戟類內訪Jprsttctad fpreparty p斗 $c->in_*_fune();/在靈承的父類內訪protected propertyE5Zprivate私有的,指的是,只有本類內,可以訪問!0 1 $c = nw C;2. var_dump(Sc ->property);./左類外訪 IJprivate 一_- $u -in_uurK);"翌于垂倩訪問 p

6、rivat<4 fc->in_b_func();/|£類毎5問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 ¥上的肱英內訪問private |.Jl&ticf; Vndefi43ed propEFTF;匚:in G;

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

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

9、址string (M) T"c t -r -i n-e f 勺 J,、匚 publii 匸 pFojS2,私有成員不能被重寫。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 );/ /+ 訪問 * f在相應的

10、私有屬性定義的類中, 才能訪問到相應的私有屬性!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)內館i可.tob

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

12、,在處理私有屬性時,一定要確定其定義位置!建議是如果需要通過繼承,你就使用保護的,少用私有的! 在沒有繼承時,盡量使用私有的!3,在重寫時,如果重寫成員的訪冋級別不一致。 子類的級別比父類的級別,相等或者弱,可以! 強,不行!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竣呼如的仿問圾別心領是曼陳護旳或者更劈4,兼容性的問題 早先的php的面向對象不完善,沒有訪問控制 ! 在聲明屬性時,使用 var關鍵字! 聲明方法時,什么都不使用!function為了兼容,上面的做法還是可以使用!var,function。訪問權限都是 public的!16 class C 17 var $name;18 function fl() 19 20 2122 class d 23

14、public $name;24 public function f1() 冒泡排序相鄰的兩個數比較,大數向后走! 模擬待排序序列:241167109234511246710923451124671092345112410679234511241096723451124109236745112410923456711241092345671110249234567111092423456711109232445671110923244567明顯,需要N-1輪就可以排序出來結果!每輪內,需要對余下的元素依次做相鄰的元素之間的比較!計算關系:$total = 7;輪數參與比較次數比較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公式:比較次數=總元素個數-輪數!其次,需要控制那兩個元素參與比較? 確定第一個參與比較的元素即可:從0到總元素個數-1-當前輪數交換元素位置,找到第三個變量! 編程實現?雙層循環(huán),外層比較輪數,內層控制比較元素下標!function bubblesort (&S1i st) 13 "控制輪散14 for($i=l,$list_len=count(Slist: $i<llist_len; *$i) 15 "蔘與Lt較囪元索下標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);排序就是消滅逆序的過程!預習final,抽象,接口序列化自動加載單例模式,工廠模式作業(yè)1,要求升級mysqldb,盡量體現封裝性!2,升級mysqldb,提取執(zhí)行SQL的方法,凡是執(zhí)行 SQL,都需要調用該方法實現!3,要求增加fetchAII的方法,功能時得到一條查詢類的sql語句,返回所有的結果數組!104 $sql = "select 粗 from sele匚t_student"

溫馨提示

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

評論

0/150

提交評論