不言不语

您现在的位置是: 首页 >  PHP

PHP

php接口的用法(interface与implements关键字)

2022-06-01PHP
PHP中类是单继承,也就是不支持多继承,当一个类需要多个类的功能时,继承就无能为力了,为此就引入了类的接口技术。

使用关键字 interface 来定义,并使用关键字 implements 来实现接口中的方法,且必须实现所有接口中所定义的方法。且接口里面不能声明变量,而且所有成员都是public权限的。


<?php
	//定义user接口
	interface UserInterface{ 
		function getname();
	}

	//实现user接口
	class User implements UserInterface{ 
		private $name="nostop";
		public function getName(){
			return $this->name;
		}
	}
	
	//调用user接口
	$user=new User();
	echo $user->getName();
//实现多个接口
class 子类 extends 父类 implements 接口1,接口2,........{
          .........
}


        接口与抽象类的区别如下:

        1. 一个子类如果 implements 一个接口,就必须实现接口中的所有方法(不管是否需要);如果是继承一个抽象类,只需要实现需要的方法即可。

        2. 如果一个接口中定义的方法名改变了,那么所有实现此接口的子类需要同步更新方法名;而抽象类中如果方法名改变了,其子类对应的方法名将不受影响,只是变成了一个新的方法而已(相对老的方法实现)。

        3. 抽象类只能单继承,当一个子类需要实现的功能需要继承自多个父类时,就必须使用接口。

文章评论