当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP implements和extends的区别用法及代码示例


PHP有利于两个关键字,即implementsextends关键字,可以在类继承和接口实现的上下文中使用。虽然这两个关键字都与面向对象编程的概念相关,但它们有不同的用途。

Extends关键词

extends关键字用于创建从另一个类继承的子类。继承是面向对象编程中的一个基本概念,允许一个类继承另一个类的属性和方法。

用法

class First {
public function parent() {
// Code...
}
}
class Second extends First {
// Code...
}

示例: 实施延长PHP 中的关键字。

PHP


<?php
class ParentClass
{
    public function parentMethod()
    {
        echo "This is a method from the parent class.\n";
    }
}
class ChildClass extends ParentClass
{
    public function childMethod()
    {
        echo "This is a method from the child class.\n";
    }
}
$childObj = new ChildClass();
$childObj->parentMethod();
$childObj->childMethod();
?>
输出
This is a method from the parent class.
This is a method from the child class.



实施关键字

Implements 关键字用于声明一个类实现一个或多个接口。接口定义了实现类必须遵守的契约,指定了类必须实现的一组方法。

用法

interface MyInterface
{
// Method...
}

class MyClass implements MyInterface
{
// Method...
}

示例: 实施实现PHP 中的关键字。

PHP


<?php
interface MyInterface
{
    public function interfaceMethod();
}
class MyClass implements MyInterface
{
    public function interfaceMethod()
    {
        echo "This is the implementation of the interface method.\n";
    }
}
$obj = new MyClass();
$obj->interfaceMethod();
?>
输出
This is the implementation of the interface method.



我之间的差异mplements和Extends

现在,让我们总结一下之间的主要区别implementsextends

参数 Implements Extends
Purpose 实现接口 扩展一个类
Syntax class MyClass implements MyInterface class ChildClass extends ParentClass
Inheritance 没有从接口继承 从父类继承属性和方法
多种用途 可以实现多个接口 只能延长一类
抽象类 可以实现抽象类 只能扩展具体(非抽象)类
代码可重用性 通过接口实现提高代码可重用性 通过类继承提高代码可重用性


相关用法


注:本文由纯净天空筛选整理自vkash8574大神的英文原创作品 What is the difference between implements and extends in PHP ?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。