PHP程序设计基础(微课版)(第2版)课件 9.PHP抽象方法与抽象类及对象克隆_第1页
PHP程序设计基础(微课版)(第2版)课件 9.PHP抽象方法与抽象类及对象克隆_第2页
PHP程序设计基础(微课版)(第2版)课件 9.PHP抽象方法与抽象类及对象克隆_第3页
PHP程序设计基础(微课版)(第2版)课件 9.PHP抽象方法与抽象类及对象克隆_第4页
PHP程序设计基础(微课版)(第2版)课件 9.PHP抽象方法与抽象类及对象克隆_第5页
已阅读5页,还剩11页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PHP抽象方法与抽象类、对象克隆演讲人15PHP抽象方法与抽象类0116PHP对象克隆03抽象方法的实现02目录0115PHP抽象方法与抽象类15.1抽象方法01抽象方法指没有方法体的方法,具体就是在方法声明的时候没有{}括弧以及其中的内容,而是直接在声明时在方法名后加上分号结束。02abstract关键字用于定义抽象方法,语法如下:03abstractfunctionfunction_name();abstract关键字用于定义抽象方法与抽象类。15.2抽象类只要一个类里面有一个方法是抽象方法,那么这个类就要定义为抽象类。抽象类同样用abstract关键字来定义。抽象类不能产生实例对象,通常是将抽象方法做为子类方法重载的模板使用的,且要把继承的抽象类里的方法都实现。实际上抽象类是方便继承而引入的。实例13:使用abstract关键字定义抽象类实例代码如下:<?phpabstractclassAbstractClass{//定义抽象方法abstractprotectedfunctiongetValue();15.2抽象类//普通方法publicfunctionprintOut(){print$this->getValue()."<br/>";}}classConcreteClassextendsAbstractClass{protectedfunctiongetValue(){return"抽象方法的实现";}}}$class1=newConcreteClass;$class1->printOut();?>输出结果抽象方法的实现在这个实例中,父类定义了抽象方法以及对于方法的实现,但实际的内容却在子类里定义。02抽象方法的实现抽象方法的实现在这个实例中,父类定义了抽象方法以及对于方法的实现,但实际的内容却在子类里定义。0316PHP对象克隆16PHP对象克隆clone关键字用于克隆一个完全一样的对象,__clone()方法来重写原本的属性和方法。16.1对象克隆关键字需要在一个项目里面使用两个或多个一样的对象,如果使用new关键字重新创建对象,再赋值上相同的属性,这样做比较烦琐而且也容易出错。PHP提供了对象克隆功能,可以根据一个对象完全克隆出一个一模一样的对象,而且克隆以后,两个对象互不干扰。使用关键字clone来克隆对象。语法:$object2=clone$object;实例14使用关键字clone来克隆对象实例代码如下:<?phpclassPerson{private$name;16.1对象克隆关键字

private$age;

function__construct($name,$age){

$this->name=$name;

$this->age=$age;

}

functionsay(){

echo"我的名字叫:".$this->name."<br/>"; echo"我的年龄是:".$this->age;

}}$p1=newPerson("张三",20);$p2=clone$p1;$p2->say();?>运行实例,输出:我的名字叫:张三我的年龄是:2016.2__clone()方法如果想在克隆后改变原对象的内容,需要在类中添加一个特殊的__clone()方法来重写原本的属性和方法。__clone()方法只会在对象被克隆的时候自动调用。实例15:使用_clone()方法重写对象原来的属性和方法实例代码如下:<?phpclassPerson{private$name;private$age;function__construct($name,$age){16.2__clone()方法

$this->name=$name;

$this->age=$age;

}

functionsay(){

echo"我的名字叫:".$this->name; echo"我的年龄是:".$this->age."<br/>";

}

function__clone(){

$this->name="我是假的".$this->name;

$this->age=30;

}}$p1=newPerson("张三",20);$p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论