《php基础语法之抽象类和接口.docxVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《php基础语法之抽象类和接口

抽象类,abstract类抽象类:包含了抽象方法的类称之为抽象类,不能用于实例化对象,只能被继承!抽象类,不完整的类,由于包含了不完整的方法。不完整的方法,也叫抽象方法,指的是没有方法体的方法,称之为只有方法的声明,而没有方法的实现的方法称之为抽象方法。也就是不完整的方法!需要使用关键字 abstract来声明这个抽象方法与抽象类!不能实例化对象注意:抽象类是可以包含其他任何正常的成员的,在此基础上,增加了内部的抽象方法!(并不是抽象类中只能包含抽象方法)只能被继承但是,继承时,要求,如果子类不是抽象类,那么继承的抽象方法,要被实现(被加上方法体)才可以!使用意义可见,抽象类,可以规定其非抽象子类,必须要存在的相应成员方法!可以规定,子类中都必须存在,但是可以不同的方法!几个概念:抽象:abstract,不完整的意思!举目张刚的意思!实现:implement。将方法完整化!接口结构,interface接口,指的是对象的公共方法。也有一种接口技术,定义一个接口结构,用于限制一个类(对象)因该具备的公共方法(接口方法)!语法:声明使用关键字 interface声明一个接口结构!注意,接口内只能包含公共的抽象方法(不完整的方法)!使用使一个类来实现接口内所定义的所有接口方法(公共方法)实现,使用关键字:implements来完成明显,实现该接口结构的类,就包含了接口中定义的抽象方法,两个选择,1,定义成抽象类,2是实现接口方法!类似于抽象类,比较与接口的区别:抽象类与普通类之间是继承关系!普通类继承抽象了,第一可以得到抽象类中的已有的常规成员,第二才需要实现抽象方法(也不一定是public的)接口与普通类之间是实现关系!普通类实现了接口,只能将其没有实现的公共方法实现!接口只用于定义公共的方法!而抽象类,什么都可以有!典型的使用:多实现一个类,可以同时实现多个接口php.itcast.cn接口可以定义常量辨别?接口是不是类?接口不是类,接口就是独立的一种结构,适用于限制类的结构!但是可以理解成“接口类似于一个所有的方法都是公共的抽象方法,而且没有其他成员的抽象类”,但完全不是一个概念!class_exists();判断一个类是否存在?php是单继承,怎么实现多继承?“可以通过接口的多实现来模拟”不能实现多继承!类文件的载入-自动加载机制项目中如何管理大量的类的定义?典型的,每个类,独立的创建一个文件,用于保存定义该类的源代码!使用时,将该文件载入即可!此时,类文件的命名为:类名.class.php此时,面临一个类文件很多,某个功能需要使用其中不分类:如何合理方便载入?老办法:将载入类的代码,放在一起:问题是,会有类的额外加载!现在的载入类文件的方式是?按需加载在需要某个类时,如果该类没有被加载,则加载定义该类的类文件!判断当前类是否已经加载?该类在哪个文件中?什么时机执行上面的操作?PHP本身解决此时可以使用PHP的类文件,自动加载机制完成!自动加载机制当需要一个类,当时并没有找到该类的定义,此时,PHP核心(Zend Engine),会自动尝试调用一个叫:__autoload()的函数。与此同时,会将当前所需要的类名作为参数,传递到__autoload()这个函数中。默认是没有这个函数的,需要用户自己定义!因此,用户脚本,需要完成定义该函数:该函数应该有个形参,用于得到当前所需要的类名!此时,我们只要,完成该函数,利用得到的类名,将类名所对应的文件载入即可!分工:用户脚本:定义函数,接收需要的类名作为参数,函数需要实现通过类名找到类所在的文件,将其载入即可!PHP核心:判断是否需要类,并且判断该类是否已经载入了,如果需要但是没有载入,则尝试调用用户定义的__autoload()函数,并将需要的类名传递即可!分析:__autoload函数获得是类名而载入的是类的定义文件因此,自动加载机制的大前提:必须要能够通过类名,推导出,类定义所在的文件才可以!因此,要求大家在定义类文件时,要有规律!类文件 = F(类名)

文档评论(0)

lunwen1978 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档