PHP怎样定义接口,实现接口的方法是什么
Admin 2022-10-13 群英技术资讯 1634 次浏览
关于“PHP怎样定义接口,实现接口的方法是什么”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的朋友就继续往下看吧。1.定义接口
使用interface关键字声明一个接口,如果某个类要实现这个接口,可以使用implements关键字,语法格式如下:
interface 接口名称 //接口名一般要大写,要养成良好的编程习惯
{
成员函数列表
}
class 类名 implements 接口名称 //一个类可以实现多个接口,implements关键字后面可以写多个接口名,并用逗号分开
{
成员函数列表 //类中的成员函数和接口中的成员函数相对应,接口中的成员函数要在类中成员函数实现
}
我们来定义一个接口。
例:imple.php
<?php
interface Interf{ //创建一个名为Interf的接口
function do_something(); //成员函数 do_something()
}
class Cls implements Interf{ //Cls的类来实现Interf接口
function do _something(){ //成员函数 do_something()
echo ‘do…’; //打印do…
}
}
?>
注:接口名不能用interface
类名不能用class
2.实现接口的方法
例:implements.php
<?php
interface Fruit{//定义一个接口Fruit
function grow(); //创建一个成员函数grow 这里不需要实现,所以函数后面直接以分号结束。由于接口的函数是必须公开的,所以这里不需要在使用public、 private 和 protected 修饰。
}
class Apple implements Fruit{ //用Apple类来实现Fruit接口
public function __construct(){ //公有 构造函数
echo ‘This is apple.<br><br>’; //打印This is apple.
}
public function grow(){ //公有 成员函数grow 接口中grow的具体实现
echo ‘Apple grown mothed.<br><br>’; //打印Apple grown mothed.
}
}
class Banana implements Fruit{//用Banana类来实现Fruit接口
public function __construct(){//公有 构造函数
echo ‘This is banana .<br><br>’;//打印This is banana.
}
public function grow(){//公有 成员函数grow 接口中grow的具体实现
echo ‘Banana grown mothed.<br><br>’;//打印Banana grown mothed.
}
}
class Orange implements Fruit{//用Orange类来实现Fruit接口
public function __construct(){//公有 构造函数
echo ‘This is orange.<br><br>’;//打印This is orange.
}
public function grow(){//公有 成员函数grow 接口中grow的具体实现
echo ‘Orange grown mothed.<br><br>’;//打印Orange grown mothed.
}
}
//$fruit = new Fruit(); //接口不能 实例化 ,会报错
$apple = new Apple();//实例化
$banana = new Banana();//实例化
$orange = new Orange();//实例化
$apple->grow();//调用apple的grow函数
$banana->grow();//调用banana的grow函数
$orange->grow();//调用orange的grow函数
?>
结果:
接口可以和类一样具有继承能力,接口可以继承多个接口,但是接口不能继承类。
例:implements2.php
<?php
interface Gain{//定义一个接口Gain (吸收养分)
function suck();//创建一个成员函数suck (吸收方法)
}
interface Fruit extends Gain{ //Fruit接口使用extends继承Gain接口
function grow();//创建一个成员函数grow
}
class Apple implements Fruit{//用Apple类来实现Fruit接口
public function __construct(){//公有 构造函数
echo ‘This is apple.<br><br>’;//打印This is apple.
}
public function grow(){//公有 成员函数grow 接口中grow的具体实现
echo ‘Apple grown mothed.<br><br>’;//打印Apple grown mothed.
}
public function suck(){//公有 成员函数suck 接口中suck的具体实现
echo ‘Apple suck…<br><br>’;//打印Apple suck…
}
}
class Banana implements Fruit{//用Banana类来实现Fruit接口
public function __construct(){//公有 构造函数
echo ‘This is banana.<br><br>’;//打印This is banana.
}
public function grow(){//公有 成员函数grow 接口中grow的具体实现
echo ‘Banana grown mothed.<br><br>’;//打印Banana grown mothed.
}
public function suck(){//公有 成员函数suck 接口中suck的具体实现
echo ‘Banana suck…<br><br>’;//打印Banana suck…
}
}
class Orange implements Fruit{//用Banana类来实现Fruit接口
public function __construct(){//公有 构造函数
echo ‘This is orange.<br><br>’;//打印This is orange.
}
public function grow(){//公有 成员函数grow 接口中grow的具体实现
echo ‘Orange grown mothed.<br><br>’;//打印Orange grown mothed.
}
public function suck(){//公有 成员函数suck 接口中suck的具体实现
echo ‘Orange suck…<br><br>’;//打印Orange suck…
}
}
//$fruit = new Fruit();//接口不能实例化,会报错
$apple = new Apple();//实例化
$banana = new Banana();//实例化
$orange = new Orange();//实例化
$apple->grow();//调用apple的grow函数
$banana->grow();//调用banana的grow函数
$orange->grow();//调用orange的grow函数
$apple->suck();//调用apple的suck函数
$banana->suck();//调用banana的suck函数
$orange->suck();//调用orange的suck函数
?>
结果:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
学习php7连接MySQL制作简易查询程序,讲解详细,有需要的朋友可以看看,了解了解,有问题欢迎留言讨论。
这篇文章主要介绍了Thinkphp5.0 框架Model模型简单用法,结合实例形式分析了thinkPHP5.0框架模型Model常用方法的简单使用技巧,需要的朋友可以参考下
我们在开发的过程中常常遇到需要把对象或者数组进行序列号存储,反序列化输出的情况。特别是当需要把数组存储到mysql数据库中时,我们时常需要将数组进行序列化操作。 序列化(串行化):是将变量转换为可保存或传输的字符串的过程; 反序列化(反串行化):就是在适当的时候把这个字符串再转化成原来的变量使用。 这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性。 常见的php序列化和反序列化方式主要有:serialize,unserialize;json_encode,json_decode。_来自PHP 教程,w3cschool编程狮。
本文实例讲述了php 实现svg转化png格式的方法。分享给大家供大家参考,具体如下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008