📜  PHP中的特征与接口

📅  最后修改于: 2022-05-13 01:56:47.062000             🧑  作者: Mango

PHP中的特征与接口

PHP中 Traits 和 Interfaces 之间的主要区别在于 Traits 定义了每个类中每个方法的实际实现,因此许多类实现了相同的接口但具有不同的行为,而 Traits 只是注入到PHP中的类中的代码块.

性状

特征根本不是接口。 Traits 可以定义静态成员和静态方法。它帮助开发人员在不同类层次结构中的几个独立类中自由地重用方法。 Traits 降低了复杂性,并避免了与多重继承和 Mixins 相关的问题。请注意, PHP不允许多重继承。所以 Traits 通过允许我们在多个类中重用相同的功能来填补这个空白。

句法:


Traits 不能实现接口。一个特征允许两个类都将它用于公共接口要求。它支持使用抽象方法。它使行为的水平组合成为传统继承。 Traits 是一种用于在PHP等单继承语言中重用代码的机制。再次编写相同的代码,以避免使用特征。当多个类共享相同的功能时使用特征。

例子:

geeks();
?>

输出:

Hello Geeks!

界面

它指定类必须实现的所有此类方法的列表。使用关键字接口来实现与类相同的接口。它可以使用 extends运算符扩展接口。 Interface 中的所有方法都是抽象方法,可以有自己的常量。有一个具体的类概念,它是一个实现接口的类,该接口必须实现具有相同名称和签名的所有方法。
接口中的所有方法都必须具有公共访问级别。

句法:

没有两个接口可以由具有相同方法名称和签名的特定类实现,因为它会产生错误。也有助于多重继承,因为一个类可以实现多个接口,而它只能扩展一个类。可以更改实现而不影响接口的调用者。

例子:

examplemethod1(); 
$ob->examplemethod2(); 
  
?> 

输出:

ExampleMethod1 Called
ExampleMethod2 Called