當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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 ?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。