- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 面向对象的PHP 2 PHP与MySQL5程序设计 教学课件
PHP+MySQL程序设计 PHP5中的继承 继承是面向对象最重要的特点之一,就是可以实现对类的复用。 通过“继承”一个现有的类,可以使用已经定义的类中的方法和属性。 继承而产生的类叫做子类。 被继承的类,叫做父类,也被成为超类。 PHP是单继承的,一个类只可以继承一个父类,但一个父类却可以被多个子类所继承。 从子类的角度看,它“继承(inherit,extends)”自父类;而从父类的角度看,它“派生(derive)”子类。它们指的都是同一个动作,只是角度不同而已。 子类不能继承父类的私有属性和私有方法。 在PHP5中类的方法可以被继承,类的构造函数也能被继承。 继承的简单例子 我们分析自然界中的关系,动物类与犬类的关系。 构造函数的继承 有些资料上说PHP5的构造函数不被继承。 演示的结果证明,PHP5的构造函数被继承了。 当子类Dog1被实例化时,继承的构造函数被调用了。 屏幕上显示了一句"I am anAnimal.". 私有变量和方法不被继承 私有变量不被继承,私有方法也不被继承。 另外一种说法,私有变量和属性被继承了,但不能被调用。 无论怎么说,都不能调用父类的私有属性和私有方法。 2.2访问控制 在PHP5中,可以在类的属性和方法前面加上一个修饰符(modifier),来对类进行一些访问上的控制。 Private的访问权限 private不能直接被外部调用,只能由当前对象调用。 前面介绍过关于封装的内容.这里不再重复。 比如你可以借钱给别人,但不希望别人知道你钱包里面有多少钱。 我们把它用private隐藏起来。 protected的访问权限 protected修饰的属性和方法只能被子类调用。外界无法调用。 public的访问权限 数据的隐藏和封装是能够帮助我们保护数据的安全性。 Public修饰的属性和方法,可以被无限制的调用。 2.3重写(override) 如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。 当对父类的方法进行重写时,子类中的方法必须和父类中对应的方法具有相同的方法名称,在PHP5中不限制输入参数类型、参数数量和返回值类型。(这点和JAVA不同) 子类中的覆盖方法不能使用比父类中被覆盖方法更严格的访问权限。 声明方法时,如果不定义访问权限。默认权限为public。 PHP5重写方法 先设置一个父类,这个父类是“Dog”类,这个类描述了dog的特性。 Dog有2个眼睛,会跑,会叫。就这样描述先。 我养了一只狗,是只小狗,符合Dog类的特性,但有所不同。 我的小狗有名字,我的小狗太小了,不会大声的叫,只会哼哼。 我们用继承的概念去实现这个设计。 重写方法与访问权限 子类中的覆盖方法不能使用比父类中被覆盖方法更严格的访问权限。 父类为public子类为private时。 重写时的参数数量 子类可以拥有与父类不同的参数数量。(这点与java不同,PHP是弱类型语言。) 构造函数重写 下面这个例子中,父类和子类都有自己的构造函数,当子类被实例化时,子类的构造函数被调用,而父类的构造函数没有被调用,请对比第一节的构造函数继承。 (注:这点和Java不同,在java中构造函数是不能被继承的,而且子类实例化时,子类的构造函数被调用,父类的构造函数也会调用。) 2.4 this关键字 PHP5中为解决变量的命名冲突和不确定性问题,引入关键字 “$this”代表其所在当前对象。 $this在构造函数中指该构造函数所创建的新对象 在类中使用当前对象的属性和方法,必须使用$this-取值。 方法内的局部变量,不属于对象,不使用$this关键字取值。 局部变量和全局变量与$this关键字 局部变量的只在当前对象的方法内有效,所以直接使用。 注意:局部变量和属性可以同名,但用法不一样。在使用中,要尽量避免这样使用,以免混淆。 用$this调用对象中的其它方法 使用$this调用构造函数 $this到底指的什么? 通过$this传递对象 2.5 parent::关键字 PHP5中使用parent::来引用父类的方法。 parent::可用于调用父类中定义的成员方法。 parent::的追溯不仅于直接父类。 通过parent::调用父类方法 父类的private属性 Private属性是不能被继承的,如果父类有私有的属性。那么父类的方法只为父类的私有属性服务。 在子类中重新定义了一个属性$sal 系统却返回了父类的属性。 如果父类中的属性被子类重写了。结果是这样的。 注意第5行的属性定义变成了protected。 父类的private属性 如果你学过java,你会觉得这一切都是很难理解的。 在Java中当子类被创建时,父类
您可能关注的文档
最近下载
- 2024上海松江区泖港镇下属单位招聘公共服务人员23人笔试备考试题及答案解析.docx VIP
- 2024上海松江区泖港镇下属单位招聘公共服务人员23人笔试历年典型考题及考点剖析附答案带详解.docx VIP
- 2025年山西省中考数学试卷真题(含标准答案).pdf
- 2025年北京市高考语文答题卡(彩)PDF版三栏.pdf
- 智能建造系统架构与发展路径.docx VIP
- 颈动脉易损斑块的超声评估.pptx VIP
- 新高考版《语文》资料:专题三-现代文阅读Ⅱ•文学类文本(三年模拟).pdf VIP
- 四合木繁殖特性与扦插生根解剖学研究.pdf
- 六年级上册体现数学核心素养的案例分析.docx VIP
- 血管超声诊断.ppt VIP
文档评论(0)