第七章 高级OOP特性 4 PHP与MySQL5程序设计 教学课件.pptVIP

第七章 高级OOP特性 4 PHP与MySQL5程序设计 教学课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PHP+MySQL程序设计 4.1接口的定义与规范 接口(interface)是抽象方法和静态常量定义的集合。 接口是一种特殊的抽象类,这种抽象类中只包含抽象方法和静态常量。 接口中没有其它类型的内容。 4.1.1接口的定义 我们先写接口的定义,后面几节再介绍接口的意义。 接口的一个简单写法。interface 接口名{ } 下面的例子定义了一个接口User,这个接口中有两个抽象方法,getName()和setName()。能看到接口的写法和类很相似。 4.1.2接口中的抽象方法 注意,在接口中只能有抽象方法。如果在接口中出现了非抽象方法,会报错如下: Interface function User::setName()cannot contain body in………. 4.2.3接口中抽象方法的修饰和访问权限 在接口中的抽象方法只能是public的,默认也是public权限。 并且不能设置成private或者protected类型。 否则会报错如下: Access type for interface method User::setName()must be omitted in—on line— (在接口中,访问类型必须忽略。) 4.1.4接口中的静态抽象方法 在接口中可以使用静态抽象方法。在PHP5.2中,不建议在抽象类中使用静态抽象方法。 而接口中依然保留了静态抽象方法。 4.1.5接口中的静态常量 在接口中可以定义静态常量。而且不用static修饰就是静态的常量。这里是静态常量 const 4.2实现接口 类实现接口要使用implements。 类实现接口要实现其中的抽象方法。 一个类可以实现多个接口。 一个类可以使用implements实现接口,甚至可以实现多个接口。 大部分的书说,这样是为了实现PHP的多继承。为什么呢?PHP5是单继承的,一个可以继承自一个父类。接口可以实现多个,这样就是多继承了。 这样说有些道理。但,既然接口里面的方法没有方法体,所谓的多继承又有什么意义? 接口的意义在于后面一节继续说的多态。 4.2.1使用implements实现接口 使用implements来实现一个接口。如果实现接口而没有实现其中的抽象方法,会报错如下。 4.2.2实现多个接口 一个类可以实现多个接口。只要使用,号将多个接口链接起来就可以。 4.2.3继承并实现接口 这个例子,让StudentAdmin继承自Student类,并实现了User和Administrator接口。 4.3接口的继承 一个接口可以继承自另外的接口。 PHP5中的类是单继承,但是接口很特殊。一个接口可以继承自多个接口。 一个接口继承其它接口时候,直接继承父接口的静态常量属性和抽象方法。 在PHP5中,接口是可以继承自另外一个接口的。这样代码的重用更有效了。 要注意只有接口和接口之间使用继承关键字extends。 类实现接口必须实现其抽象方法,使用实现关键字implements。 4.3.1接口实现继承 要注意只有接口和接口之间使用继承关键字extends。 类实现接口必须实现其抽象方法,使用实现关键字implements。 例4-3-1.php 这个例子定义接口User,User有两个抽象方法getName和setName。又定义了接口VipUser, 继承自User接口,并增加了和折扣相关的方法getDiscount。 最后定义了类Vip,实现了VipUser接口。并实现了其中的三个方法。 4.3.2接口可以实现多继承 接口可以实现多继承,这是接口很特殊的地方。注意下面的代码和用法。 4.4抽象类实现接口 抽象类实现接口,可以不实现其中的抽象方法,而将抽象方法的实现交付给具体能被实例化的类去处理。 4.5类型提示 PHP是弱类型语言,向方法传递参数时候也不太区分类型。这样的使用会引起很多的 问题,PHP开发者认为,这些问题应该是由代码书写者在书写代码时进行检验以避免。 4.5.1没有类型提示很危险 4.5.2原始类型的类型判断 PHP中提供了一些函数,来判断数值的类型。我们可使用is_numeric()。判断是否是一个数值或者可转换为数值的字符串。 其它相关的还有is_bool()、is_int()、is_float()、is_integer()、is_numeric()、is_string()、 is_array()和is_object()。 于是代码有了修改 4.5.3向方法内传递对象 4.5.3向方法内传递对象 我们还有一个类,和图书相关的类,在图书类中也可以设置图书的书名setName($name)。 如果我向,

文档评论(0)

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

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

1亿VIP精品文档

相关文档