首页> 基础笔记 >PHP基础学习 >面向对象 面向对象
PHP接口技术
作者:小萝卜 2019-09-05 【 PHP 面向对象 】 浏览 1564
简介PHP与大多数面向对象编程语言一样,不支持多重继承,也就是说每个类只能继承一个父类。为了解决这个这个问题,PHP引入了接口,接口的思想是指定了一个实现了该接口的类必须实现的一系列函数。
PHP与大多数面向对象编程语言一样,不支持多重继承,也就是说每个类只能继承一个父类。为了解决这个这个问题,PHP引入了接口,接口的思想是指定了一个实现了该接口的类必须实现的一系列函数。
如果在一个抽象类中包含的只有抽象方法,可以将其定义为interface(接口),用implements(实现)关键字使用它。
定义格式:
interface 接口名称{
定义格式:
interface 接口名称{
//常量成员 (使用const关键字定义)
//抽象方法 (不需要使用abstract关键字)
}
使用格式:
class 类名 implements 接口名1,接口名2{ ... ... }
当一个类在继承了一个接口后,它必须实现即覆盖该接口的所有方法才可以实例化使用,否则即为抽象类。
使用格式:
class 类名 implements 接口名1,接口名2{ ... ... }
当一个类在继承了一个接口后,它必须实现即覆盖该接口的所有方法才可以实例化使用,否则即为抽象类。
实例1:
<?php
//声明一个接口使用interface关键字,One为接口名称
interface One {
const CONSTANT = 'CONSTANT value'; //在接口中声明常量成员属性和在类中声明一样
function fun1(); //在接口中声明一个抽象方法“fun1()”
function fun2(); //在接口中声明另一个抽象方法“fun2()”
}
//声明一个抽象类去实现接口One中的第二个方法
abstract class Three implements One {
function fun2() { //只实现接口中的一个抽象方法
//具体的实现内容由子类自决定
}
}
//声明一个类实现接口One中的全部抽象方法
class Four implements One {
function fun1() { //实现接口中第一个方法
//具体的实现内容由子类自决定
}
function fun2() { //实现接口中的第二个方法
//具体的实现内容由子类自决定
}
}
实例2:
<?php
//接口:
//定义一个Demo接口,内部只有抽象方法和常量定义
interface Demo{
const PI=3.14; //定义常量属性
public function fun1(); //定义抽象方法,而且抽象方法关键字abstract不用写
public function fun2();
public function fun3();
}
//定义一个类A去实现接口Demo
abstract class A implements Demo{
public function fun1(){
echo "fun1....<br/>";
}
public function fun2(){
echo "fun2....<br/>";
}
}
class B extends A{
public function fun3(){
echo "fun3....<br/>";
}
}
//此时B类就可以实现了
$b = new B();
$b->fun1();
$b->fun2();
$b->fun3();
很赞哦! (0)
上一篇:PHP抽象类与接口的区别
下一篇:PHP面向对象之抽象方法和抽象类