接口

接口

  • 接口给出一些未实现的方法,将其封装在一起,到某个类要使用的时候,在根据实际情况来实现所有方法。
  • 使用关键字interface关键字来实现。
  • 基本语法
interface 接口名{
	//属性
	//方法
}
  • 接口中的方法都不能有方法体。
  • 实现接口:implements关键字
class 类名 implements 接口1,接口2...{
	//实现
}
  • 简单案例
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<body>
<?php
	interface Usb{
		public function start();
		public function stop();
	}
	class Iphone implements Usb{
		public function start(){
			echo "iphone手机正在充电...<br/>";
		}
		public function stop(){
			echo "iphone手机停止充电...<br/>";
		}
	}
	class Android implements Usb{
		public function start(){
			echo "android手机正在充电...<br/>";
		}
		public function stop(){
			echo "android手机停止充电...<br/>";
		}
	}
	$iphone=new Iphone();
	$iphone->start();
	$iphone->stop();
?>
</body>
</html>
  • 作用:声明一些方法,供其他类来实现。通过接口能实现“高内聚低耦合”。
    在这里插入图片描述
    在这里插入图片描述

使用接口

  • 定规范和规则
  • 当多个类之间是平级的关系(不存在继承),这些类都会去实现某个功能
    在这里插入图片描述

注意

  • 接口不能被实例化。
  • 接口中所有方法不能有主体。
  • 一个类可以实现多个接口。
class 类名 implements 接口1,接口2...{
	//
}
  • 接口中可以有属性,但必须是常量,public的。
  • 接口中的方法必须是public,默认也是public的。
  • 一个接口不能继承其他的类,但是可以继承其他的接口。
interface 接口 extends 接口1,接口2...{
	//
}

继承和接口

  • php的继承是单继承的,层级式的,对子类的扩展有一定的限制。
  • 接口是对继承的一种补充。
  • 实现接口可以在不打破继承的前提下,对某个类的功能进行扩展。
©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页