正文描述:《PHP对象之抽象和接口(传智播客听课笔记韩顺平)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、u抽象类一个小问题?为什么设计抽象类这个技术?1.在我们实际开发中,我们可能有这样一种类,是其它类的父类,但它本身并不需要被实例化,主要用途是用于让子类来继承,这样可以达到代码复用,同时利于项目设计者设计类快速入门abstractclassAnimal{public$name;protected$price;//这个方法不有方法体,这个方法主要是为了让子类去实现abstractfunctioncry();}classDogextendsAnimal{//覆盖functioncry(){echo"小狗汪汪叫";}}//创建一个子
2、类实例$dog1=newDog();$dog1->cry();使用抽象类的注意事项1.基本用法Abstractclass类名{//方法//属性}2.用abstract关键字来修饰一个类时,这个类就叫抽象类3.用abstract关键字来修饰一个方法,这个方法就叫抽象方法,这里抽象方法就不能有方法体4.抽象类不能被实例化5.抽象类不一定要包含abstract方法,同时还可以有实现了的方法6.一旦类包含了abstract方法,则这个类必须声明为abstract7.抽象方法不能包含函数体8.如果一个类继承了某个抽象类,则它必须实现该抽
3、象类的所有抽象方法u接口快速入门案例
4、siUsb{publicfunctionstart(){echo"手机开始工作";}publicfunctionstop(){echo"手机停止工作";}}$camera1=newCamera();$camera1->start();$camera1->stop();$phone1=newPhone();$phone1->start();$phone1->stop();?>1.接口的使用基本语法Interface接口名{//属性//方法}☞接口中方法都不能有方法体,都是抽象方法2.如何去实现这个接口Class类名impleme
5、nts接口名1,接口2.。。。。{}3.接口的作用就是声明一些方法,供其它类来实现,接口还体现了编程中我们希望的效果——高内聚低耦合的特点u深入讨论接口:interface什么情况下可以考虑使用接口1.定规范2.定下规范,让其他的程序员来实现//项目经理//学生管理系统(students)//定义接口interfaceStuManageInterface{publicfunctionaddStudent();publicfunctiondelStudent();publicfunctionupdStudent();}//给张三
6、classStuManageimplementsStuManageInterface{}1.当多个类,他们之间是平级的关系,这些类都要去实现某个功能,只是实现的方式不一样u接口的细节问题1.不能去实例化一个接口2.接口中的所有方法都不能有方法体3.一个类可以实现多个接口,但要用逗号隔开4.接口在可以有属性,但必须是常量,默认是publicinterfaceiUsb{constA=90;}echo"Ok";echoiUsb::A;5.接口的方法必须都是public,默认是public6.一个接口不能继承其它的类,但是可以继承别的
7、接口类和接口关系一图interfaceiUsb2{publicfunctiona();}interfaceiUsb3{publicfunctionb();}interfaceiUsbextendsiUsb2,iUsb3{constA=90;functiontest();}classClass1implementsiUsb{publicfunctiona(){}publicfunctionb(){}publicfunctiontest(){}}echo"Ok";echoiUsb::A;从上面我们看出①一个接口可以继承一个或多个其
8、他接口②当一个类去实现某些接口,则必须把所被继承下来的方法都实现u继承和实现接口的比较1.可以认为,实现接口是对单一继承的补充2.可以在不破坏类层级关系的前提下,对某个类功能扩展classMonkey{public$name;public$age;publicfunction
显示全部收起
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。