


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、访问修饰限定符,public , protected , privatepublic,公共的protected,保护的private,私有的用于描述,一个成员(属性,方法)在哪里才能被访问的!PHP是采用类的概念,进行成员的限制访问的!PHP将访问的代码,分成三大区域:类内,类外,继承链上类内!是根据: 成员在哪里定义与成员在哪里访问来决定类内,类外还是继承链上类内!以属性$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如何选择:一个原则,尽量体现封装性。封装性,指的是,尽量隐藏内部实现,而仅仅开发外部操作接口!,而仅仅留下一些必语法上,就是,将不需要外部使用的属性,方法,都私有化(保护化) 要的公共方法!汪意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-当前轮数交换元素位置,找到第三个变量! 编程实现?双层循环,外层比较轮数,内层控制比较元素下标!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,抽象,接口序列化自动加载单例模式,工厂模式作业1,要求升级mysqldb,尽量体现封装性!2,升级mysqldb,提取执行SQL的方法,凡是执行 SQL,都需要调用该方法实现!3,要求增加fetchAII的方法,功能时得到一条查询类的sql语句,返回所有的结果数组!104 $sql = "select 粗 from sele匚t_student"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025电商平台服务合作的合同样本
- 2025购车借款合同书范文
- 2025年ZRO2陶瓷制品合作协议书
- 2025年资产评估师考试《经济法》知识点:合同法实务解析
- 2025建筑工程模板承包合同范本
- 2025外贸葡萄牙语合同范文
- 2025年岩石分裂机合作协议书
- 2025标准合同终止劳动合同证明书范本
- 2025年万能杆件合作协议书
- 2025年有机磷酸酯类中毒解毒药项目建议书
- 2024年同等学力申硕《英语》试题真题及答案
- 公共资源交易知识培训
- 《危机管理案例》课件
- DB13-T5687-2023负压封闭引流术护理规范
- 海绵材料项目可行性研究报告
- 2025年四川成都地铁运营有限公司招聘笔试参考题库含答案解析
- 【MOOC】《学术交流英语》(东南大学)章节中国大学慕课答案
- 幼儿园阅读活动环境创设
- 如何与人有效沟通培训
- 食品企业生产部门质量奖惩条例
- 《妇产科学》课件-15.3绝经综合征
评论
0/150
提交评论