详解PHP的抽象类和抽象方法以及接口总结_第1页
详解PHP的抽象类和抽象方法以及接口总结_第2页
详解PHP的抽象类和抽象方法以及接口总结_第3页
详解PHP的抽象类和抽象方法以及接口总结_第4页
全文预览已结束

下载本文档

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

文档简介

第详解PHP的抽象类和抽象方法以及接口总结PHP中的抽象类和抽象方法自己用的不多,但是经常会在项目中看到别人使用,同样,今天在看别人的代码的时候,发现使用了抽象类,就总结下:

抽象类:

1、如果一个类中有一个方法是抽象方法,则这个类就是抽象类;

2、抽象类必须加上abstract关键字修饰;

抽象方法:

定义:一个方法如果没有方法体,则这个方法就是抽象方法

1、一个方法没有方法体,直接用分号结束的方法;

2、如果是抽象方法,必须使用abstract抽象关键字形容

注意:1、只要有abstract修饰的类就是抽象类

2、除了在抽象类中可以有抽象方法之外,和正常的类完全一样

3、抽象类不能实例化对象

4、如果有抽象类,就必须有这个类的子类,并且在子类中写方法覆盖抽象类中的抽象方法(加上方法体)

5、子类必须全部重写父类中的抽象方法,这个子类才能被实例化,如果只是实现部分,那么这个子类还是抽象类

抽象类的作用:就是严格要求子类的结构,所以抽象类其实就是一个规范。

抽象方法的作用:就是规定子类必须有这个方法,且将功能交给子类来处理,只写出来方法的结构,而没有实现(无方法体),具体的功能实现交给具体的子类根据自己的需求实现

*抽象类

abstractclassPerson

public$name;

public$age;

//抽象方法

abstractfunctionsay();

abstractfunctioneat();

functionrun()

echo"helloworld";

functionsleep()

echo"test";

}

*抽象类的子类

classStudentCnextendsPerson

functionsay()

echo"我说中文br

functioneat()

echo"我用筷子吃饭";

}

接口:接口是一种特殊的抽象类

1、抽象类和接口都有抽象方法

2、抽象类和接口都不能实例化

3、抽象类和接口的使用意义(即作用)相同

比较:

a、接口中的方法,必须全部是抽象方法,所以接口中的抽象方法不需要使用abstract关键字,直接用分号结束即可

b、接口中的成员属性,必须是常量(不能有变量)

c、所有的方法必须全部是public

d、声明接口不适用class,而是使用interface

Tips:

1、可以使用extends让一个接口继承另一个接口,即常用的继承(扩展新抽象方法),无覆盖的关系

2、可以使用一个类来实现接口中全部方法,也可以使用一个抽象类,来实现接口中的部分方法

3、不要使用extends这个关键字,使用implements实现implements相当于extends

4、一个类可以在继承另一个类的同时,使用implements实现一个接口,也可以实现多个接口(一定要先继承,再实现接口)

interfaceDemo

constName="妹子";

constAge=10;

functiontest();

functiontest2();

echoDemo::Name;//访问常量

*接口继承接口,用于扩展接口

inte

温馨提示

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

评论

0/150

提交评论