一文搞懂PHP中的抽象类和接口_第1页
一文搞懂PHP中的抽象类和接口_第2页
一文搞懂PHP中的抽象类和接口_第3页
一文搞懂PHP中的抽象类和接口_第4页
一文搞懂PHP中的抽象类和接口_第5页
全文预览已结束

下载本文档

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

文档简介

第一文搞懂PHP中的抽象类和接口目录一.抽象类1.定义2.应用场景3.入门代码4.细节5.代码分解二.接口1.定义2.应用场景3.入门代码4.注意细节三.类和接口之间关系

一.抽象类

1.定义

用abstract关键字来修饰一个类时,这个类就叫抽象类.

用abstract关键字来修饰一个方法时,这个方法就是抽象方法.

2.应用场景

在实际开发中,我们可能有这样一种类,是其它类的父类,但是它本身并不需要实例化,主要用途是用于让子类来继承(规定子类),这样可以到达代码复用.同时利于项目设计者来设计类。

3.入门代码

php

abstractclassMan{

public$name='父类的属性';

abstractpublicfunctionadd();

classBoyextendsMan{

publicfunctionadd(){

echo"实现抽象类add方法";

echo"pre

publicfunctionGetName(){

echo$this-name;

4.细节

抽象类不能被实例化抽象类不一定要包含abstract方法。也就是说,抽象类可以没有abstract方法一旦类包含了abstract方法,则这个类必须声明为abstract抽象方法不能有函数体如果一个类继承了某个抽象类,则它必须实现该抽象类的所有抽象方法.(除非它自己也声明为抽象类)

5.代码分解

a.抽象类不能被实例化

b.抽象类不一定要包含abstract方法。也就是说,抽象类可以没有abstract方法

c.一旦类包含了abstract方法,则这个类必须声明为abstract

d.抽象方法不能有函数体

e.如果一个类继承了某个抽象类,则它必须实现该抽象类的所有抽象方法.(除非它自己也声明为抽象类)

二.接口

接口就是给出一些没有实现的方法,封装到一起,到某个类要使用的时候,在根据具体情况把这些方法写出来。

拿接口来说。接口中定义的方法是聚合了需要实现接口类中必有(公共)的方法,所有实现接口的类有着耦合性,各自类实现接口中定义的方法互不打架。

2.应用场景

说现在有一个项目经理,管理三个程序员,功能开发一个软件,为了控制和管理软件,项目经理可以定义一些接口,然后由程序员具体实现。

当多个类,他们之间是平级的关系.这些类都会去实现某个功能,只是实现的方式不一样.

3.入门代码

php

interfacea{

publicfunctiona();

interfaceb{

publicfunctionb();

//接口可以继承接口。类只能单一继承。

interfacecextendsa,b{

publicfunctionadc();

//c继承了a和b。所以d要实现c所有的方法。

classdimplementsc{

publicfunctiona(){

publicfunctionb(){

publicfunctionadc(){

}

4.注意细节

1.不能去实例化一个接口

2.接口中的所有方法,都不能有方法体

3.一个类可以去实现多个接口

语法:

class类名implements接口1,接口2{

}

4.接口中可以有属性,但是必须是常量,并且是public

interfaceiUsb{

constA=90;

iUsb::A;//调用

5.接口的方法是public【默认就是public】,不能是protected和private

温馨提示

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

评论

0/150

提交评论