首頁  >  文章  >  後端開發  >  PHP 中的繼承

PHP 中的繼承

PHPz
PHPz原創
2024-08-29 12:59:341229瀏覽

繼承是在新建立的類別中擴展現有類別功能的一種方法。除了擴展基類功能之外,我們還可以為新建立的類別添加功能。當我們繼承一個類別時,我們說繼承的類別是一個子類別(子類別),我們從其繼承它的子類別稱為父類別。父類別也稱為基底類別。這種方式可以更好地管理程式碼和程式碼可重複使用性。使用繼承背後的想法是為了更好地管理程式碼和程式碼可重複使用性。在本主題中,我們將學習 PHP 中的繼承。

廣告 該類別中的熱門課程 PHP 開發人員 - 專業化 | 8 門課程系列 | 3次模擬測驗

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

PHP 中的繼承型別

PHP支援各種類型的繼承,就像JAVA一樣。下表顯示了 PHP 中繼承類型的清單以及支援情況。

Inheritance Type Support in PHP
Single Inheritance YES
Multilevel Inheritance YES
Hierarchical Inheritance YES
Multiple Inheritance NO

1.單一繼承

PHP 支援單繼承。單繼承是 PHP 中的一個概念,其中單一類別只能繼承一個類別。在這個過程之間我們需要有兩個類別。一個是基底(父)類,另一個是子類。讓我們透過一個例子來理解這一點。它通常被稱為簡單繼承。 PHP語言中的這種繼承方式與JAVA、C++等都是一樣的

PHP 中的繼承

代碼:

<?php
class MyAccess {
var $var = "This is first var";
protected $fist_name;
// simple class method
function returnVar() {
echo $this->fist_name;
}
function set_fist_name($set_this){
$this->fist_name = $set_this;
}
}
class child extends MyAccess {
function setVal($set_this){
$this->fist_name = $set_this;
}
function getVal(){
echo $this->fist_name;
}
}
$obj1 = new child();
$obj1->setVal("Jai Shre");
$obj1->getVal();
?>

MyAccess 是父類,子類別是子類別的名稱。

輸出:

PHP 中的繼承

2.多層繼承

PHP 支援多層繼承。在這種類型的繼承中,我們將有兩個以上的類別。在這種類型的繼承中,父類別將被子類別繼承,然後子類別將被子類別繼承。 PHP 語言中的這種繼承類型與 C++ 等語言中的繼承類型相同

PHP 中的繼承

代碼:

<?php
class ParentClass {
var $var = "This is first var";
public $fist_name;
// simple class method
function returnVar() {
echo $this->fist_name;
}
function set_fist_name($set_this){
$this->fist_name = $set_this;
}
}
class child_1 extends ParentClass {
function setVal($set_this){
$this->fist_name = $set_this;
}
function getVal(){
echo "Extended By Parent Class -". $this->fist_name;
}
}
class child_2 extends child_1 {
function setVal($set_this){
$this->fist_name = $set_this;
}
function getVal(){
echo "Extended By child 1  - ".$this->fist_name;
}
}
$obj1 = new child_1();
$obj1->setVal("This is first inherited class");
$obj1->getVal();
echo "<br/><br/>";
$obj2 = new child_2();
$obj2->setVal("This is second inherited class");
$obj2->getVal();
?>

輸出:

PHP 中的繼承

3.分層繼承

PHP 支援層次繼承。分層繼承是一種繼承類型,其中程式由單一父類別和多個子類別組成。讓我們透過這個例子來理解。 PHP語言中的這種繼承方式與JAVA、C++等都是一樣的

PHP 中的繼承

代碼:

<?php
class ParentClass {
var $var = "This is first var";
public $fist_name;
// simple class method
function returnVar() {
echo $this->fist_name;
}
function set_fist_name($set_this){
$this->fist_name = $set_this;
}
}
class child_1 extends ParentClass {
function setVal($set_this){
$this->fist_name = $set_this;
}
function getVal(){
echo $this->fist_name;
}
}
class child_2 extends ParentClass {
function setVal($set_this){
$this->fist_name = $set_this." - ".$set_this;;
}
function getVal(){
echo $this->fist_name;
}
}
$obj1 = new child_1();
$obj1->setVal("This is first child class");
$obj1->getVal();
echo "<br/><br/>";
$obj2 = new child_2();
$obj2->setVal("This is second child class");
$obj2->getVal();
?>

輸出:

PHP 中的繼承

我們有一個名為 ParentClass 的父類和兩個子類,分別為 child_1 和 child_2。給定的繼承場景稱為層次繼承。

PHP 中繼承的重要性

繼承的重要性更加重要,因為它具有巨大的優勢。

  • 程式碼可重用性是繼承中最常用的之一;基底類別在進程之間保持原樣。正如我們在上面所有繼承的範例中看到的,程式碼正在從一個類別重複使用到另一個類別。我們不需要一次又一次地重寫同樣的東西。
  • 基底類別可以被類別層次結構中的許多衍生類別使用。是的,這是一種繼承類型,我們可以在父類別中進行多重繼承的擴展。
  • 可擴充性是繼承的優點之一,我們可以擴展基類功能,而無需進行很少的更改或無需更改即可滿足業務需求。假設我們只使用一個沒有子類別的父類別。但如果以後有需要,我們可以加入子類別來滿足我們的業務需求。
  • 重寫是繼承功能的另一個優點,我們可以將基底類別函數的定義重寫到衍生類別中,以便根據業務​​需求進行更改。
  • 更少的程式碼量-同時,與傳統的編碼方式相比,我們在進行繼承時將使用相對較少的程式碼。
  • 繼承也啟用了資料隱藏功能。我們可以使用各種 PHP 存取修飾符將父類別中唯一需要的部分公開給子類別。
  • 完全支持MVC – 我們可以透過使用繼承的概念來實現MVC。

結論

我們應該使用繼承來完成我們的業務,因為它與普通程式碼相比有一些優勢。我們在處理繼承的時候應該注意資料的安全。我們可以使用 private 和 protected 等存取修飾符來處理資料隱藏和資料安全。 PHP 不支援多重繼承。

以上是PHP 中的繼承的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn