OOP 接口

接口技术

为什么需要接口

PHP只支持单继承,只能从一个父类继承功能;如果想要从多个类继承功能,就需要用接口技术来实现;接口技术也是子类中方法的命名规范。

接口就是特殊的抽象类。

接口定义的实现要点

关键词interface ,用来声明一个接口,接口也是一个特殊的类。

关键词implements,创建一个子类,来实现接口

同类的东西,使用extends继承,不同类的东西,使用implements实现

例如:子类继承父类接口继承接口实现接口

接口中只有两种元素:类常量、抽象方法。接口中的方法默认都是抽象方法,因此不加abstract

接口中方法权限必须是public;抽象类中方法可以是protected,也可以是private(尽管私有后不能继承,但可以设置)

接口中方法可以使成员方法,也可以是静态方法;抽象类中只能是成员方法。

接口中所有的方法在子类中必须重写

接口应用

<?php

//定义小灵通的接口
interface XiaoLingTong{
	//打电话
	public function getTel();
}

//定义MP3的接口
interface MP3{
	//听音乐
	public function getMusic();
}
//定义MP4的接口
interface MP4 extends MP3{
	//看电影
	public function getMovie();
}
//定义智能手机类,实现多个接口
class Mobile implements XiaoLingTong,MP4{
	//重写getTel
	public function getTel(){
		echo '打电话';
	}
	//重写getMusic
	public function getMusic(){
		echo '听音乐';
	}
	//重写getmovie
	public function getMovie(){
		echo '看电影';
	}
	public function getGame(){
		echo '打游戏';
	}
	public function showInfo(){
		$this->getTel();
		$this->getMusic();
		$this->getMovie();
		$this->getGame();
	}
}
$mobile = new Mobile;
$mobile -> showInfo();



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值