php 接口,extends,implement,implements 作用及区别收集整理

extends 是继承某个类 ,继承之后可以使用父类的方法 ,也可以重写父类的方法,继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承

implements 是实现多个接口,接口的方法一般为空的,必须重写才能使用,可以有效的对,实现的类 方法名,及参数进行约束。可以另类的实现多继承。

class A extends B implements C,D,E{}  class中实现方法体。一个interface可以extends多个其他interface。

interface abc{

  const bbq = 321;

  public function a1(show $acc);

}

class test implements abc{

  public function a1(show $acc){  //必须函数 and 参数

    return 123;

  }

}

$n = new abc();

echo $n->a1();

interface Comparable {
 function compare(self $compare);
}

class String implements Comparable {
 private $string;
 function __construct($string) {
 $this->string = $string;
 }

function compare(self $compare) {
 if($this->string == $compare->string){
 return $this->string."==".$compare->string."<br>";
 }else{
 return $this->string."!=".$compare->string."<br>";
 }
 }
}

class Integer implements Comparable {
 private $integer;
 function __construct($int) {
 $this->integer = $int;
 }

function compare(self $compare) {
 if($this->integer == $compare->integer){
 return $this->integer."==".$compare->integer."<br>";
 }else{
 return $this->integer."!=".$compare->integer."<br>";
 }
 }
}

$first_int = new Integer(3);
$second_int = new Integer(4);
$first_string = new String("foo");
$second_string = new String("bar");

echo $first_int->compare($second_int);              // 3!=4
echo $first_int->compare($first_int);               // 3==3
echo $first_string->compare($second_string);        // foo!=bar
echo $first_string->compare($second_int);           // 严重错误

implement 用来拓展方法使用。

//扩展新的Functionvar a=function(){};var b=function(){};Function.implement({    alert:function(msg){//直接alert输出内容        alert(msg);    },    output:function(msg){//firebug的控制台会输出内容,IE会报错        console.log(msg);    }});a.alert(‘1‘);a.output(‘2‘);b.output(‘3‘);
时间: 2024-11-05 23:37:21

php 接口,extends,implement,implements 作用及区别收集整理的相关文章

JAVA中extends 与implements有啥区别?

JAVA中extends 与implements有啥区别?1. 在类的声明中,通过关键字extends来创建一个类的子类.一个类通过关键字implements声明自己使用一个或者多个接口.extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法; implements 是实现多个接口, 接口的方法一般为空的, 必须重写才能使用2.extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,JAVA中不支持多重继承,但是可以用接口

extends与implements的不区别

extends与implements的不同 1.在类的声明中,通过关键字extends来创建一个类的子类. 一个类通过关键字implements声明自己使用一个或者多个接口. extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法; implements 是实现多个接口, 接口的方法一般为空的, 必须重写才能使用 2.extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承 JAVA中不支持多重继承,但是可以用接口 来实现,这

接口和抽象类的作用以及区别

首先分析什么是抽象类,什么是接口. 抽象类,首先是个类,类是对现实世界中对象的建模模型,抽象类是对类整体的抽象描述,包含方法,以及属性.接口是对类某特性行为的抽象. 对抽象类的继承才是Is-A的关系,对接口的实现,则是"有没有"的关系.比如鸟和飞机都有飞行这个特性,这个时候可以把飞行这个特性设计为接口:IFly.然后再让Airplane和Bird实现IFly这个接口,这样Airplane和Bird则拥有了飞行这个属性. 接口和抽象类都含有抽象方法,抽象方法是只有方法骰没有方法体,使用接

JAVA中extends 与implements区别

JAVA中extends 与implements区别 JAVA中extends 与implements有啥区别?1. 在类的声明中,通过关键字extends来创建一个类的子类.一个类通过关键字implements声明自己使用一个或者多个接口.extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法; implements 是实现多个接口, 接口的方法一般为空的, 必须重写才能使用2.extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract

Flutter中extends 、 implements 、 with的用法与区别

在Flutter中,有如下三种关系: 继承(关键字 extends) 混入 mixins (关键字 with) 接口实现(关键字 implements) 这三种关系可以同时存在,但是有前后顺序: extends -> mixins -> implements extens在前,mixins在中间,implements最后,接下来看具体的例子. 1. 继承(extends) Flutter中的继承和Java中的继承是一样的: Flutter中的继承是单继承 构造函数不能继承 子类重写超类的方法,

实习第一周第一天:接口 extends是继承类,implement是实现接口,原接口里面的方法填充,方法名也是不变,重写override是父类的方法名不变,把方法体给改了

一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 接口定义的一般形式为: [访问控制符]interface <接口名> { 类型标识符final 符号常量名n = 常数: 返回值类型  方法名([参数列表]); - } 二.接口的特点 1.Java接口中的成员变量默认都是public,static,final类型的(都可省略),必须被显

java中extends与implements的区别

学了java很久了,久不用之后给同学解决一个java问题的时候,就卡在这个标题上了. 下面是java中extends与implements的区别: 1. 在类的声明中,通过关键字extends来创建一个类的子类.一个类通过关键字implements声明自己使用一个或者多个接口. extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法; implements 是实现多个接口, 接口的方法一般为空的, 必须重写才能使用 2.extends是继承父类,只要那个类不是声明为f

转载:java中抽象类和接口的作用与区别

abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力. abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意. 其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的理解.对于设计意图的理解是否正确.合理.

extends和implements区别

extends与implements的不同 1.在类的声明中,通过关键字extends来创建一个类的子类. 一个类通过关键字implements声明自己使用一个或者多个接口. extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法; implements 是实现多个接口, 接口的方法一般为空的, 必须重写才能使用  2.extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承 Java中不支持多重继承,但是可以用接口 来实现,