PHP 中的 OOPS 概念PHP 中的面向對象編程

已發表: 2020-12-14

PHP 在訪問成員函數和變量方面是一個靈活的平台。 PHP 中的 OOP 暗示了一種具有類、對象和各種組件關聯的編程風格。

PHP 是一種用於 Web 開發的服務器端編程語言。 PHP 中的面向對象編程可幫助開發人員構建可重用且複雜的 Web 應用程序。 面向對象編程是一種編程風格,指的是各種組件的關聯,圍繞繼承、多態、封裝和抽象概念展開。

OOP 的編程方式使得用戶在開發程序和代碼時可以專注於對象,而不是過程。 OOP 還專注於繪製接近現實生活的編程。 在本文中,我們將探討 PHP 中的一些核心 OOP 概念。

目錄

PHP 中的主要 OOPS 概念

PHP 是一種面向對象的編程語言,它支持多個概念。 其中一些如下:

類和對象——類是程序員定義的數據類型,包括局部變量和局部方法。 它也是對象的集合,而對象具有相似的屬性和行為。 由該類定義的單個數據結構實例是一個對象。 類是通用的,對像是特定的。 開發人員可以實例化對象但不能實例化類,對像是類的實例。

接口——PHP 中的接口是對對象可以執行的操作的描述。 它的編寫方式與使用每個接口關鍵字聲明類的方式相同。 接口中聲明的方法是公共的,它們可以像類一樣擴展,具有相同的擴展運算符。

抽象——抽像是一個概念,將焦點從編程細節和事物的具體實現轉移到它們的類型和操作的可用性。 抽象使開發人員的編程變得簡單和通用,它更像是對規范進行概括。

構造函數——這是一個特殊的函數,只要有來自類的對象形成就會自動調用。

析構函數——這是一個特殊的函數,當對像被刪除或離開作用域時會自動調用。

重載——它是一種特殊類型的多態性,其中所有或少數運算符根據參數的類型有不同的實現。 相同的功能可能會因多個實現而重載。

閱讀: PHP 項目理念和主題

PHP中的原理和OOPS概念

PHP中主要的面向對象編程原則如下:

封裝——這個概念突出了綁定屬性、方法,並隱藏了實現細節。 封裝的主要目的是限制軟件開發過程中的複雜性,它還簡化了類對象的使用。 它還保護對象的內部狀態並使其易於維護。

繼承——這個概念與類之間的關聯是一致的,它突出了子類和父類之間的關係。 此外,子級使用父級定義的方法。

繼承的核心功能是可重用性,這在開發人員必須提供更新、添加或刪除數據庫中的數據組件等基本功能時非常有用。 繼承分為單級繼承和多級繼承。

多態性- 該術語是指在多種實現方式下使用單個實例。 這是一個概念,允許用戶通過更改其細分或更改其完成方式來定義方法。 多態性強調維護應用程序以及執行可擴展的用例。

另請閱讀: PHP 面試問題

在 PHP 中創建對象

首先,在 PHP 中,創建了類,用戶可以根據自己的選擇在同一個類中創建多個對象。 每個對像都是在新關鍵字的幫助下創建的。 創建類時,開發人員可以為同一個類創建任意數量的對象。

調用成員函數

創建對像後,開發人員可以使用運算符'->'訪問類的方法函數和變量。 一個成員函數只能處理相關對象的成員變量。 讓我們舉個例子,展示如何通過調用成員函數來設置任意三本書的價格和標題:

$physics->setTitle(“高中物理”);

$chemistry->setTitle(“高級化學”);

$maths->setTitle(“代數”);

$physics->setPrice(10);

$化學->setPrice(15);

$maths->setPrice(7);

要獲取值集,您可以調用另一個成員函數:

$physics->getTitle();

$ 化學->getTitle();

$maths->getTitle();

$physics->getPrice();

$化學->getPrice();

$maths->getPrice();

這將產生以下結果:

高中物理

高級化學

代數

10

15

7

創建抽像類

<?php

抽像類 DBCommonMethods

{

私人$主機;

私人 $db;

私人 $uid;

私人$密碼;

公共函數 __construct($host, $db, $uid, $password)

{

$this->host = $host;

$this->db = $db;

$this->uid = $uid;

$this->密碼 = $密碼;

}

}

?>

這裡,

  • “抽像類”是指不能直接用於創建對象的類。
  • “$host,$db ...”是各種實現中常見的類變量

創建界面

現在讓我們創建一個包含標準方法的接口來實現不同的數據庫變量:

<?php

接口數據庫接口

{

公共函數 db_connect();

公共函數插入($數據);

公共函數讀取($where);

公共函數更新($where);

公共函數刪除($where);

}

?>

這裡,

  • “接口”是創建接口的關鍵字
  • “公共職能”是執行的標準方法

讓我們創建一個可以擴展 DBCommon Methods 類和接口的具體類:

<?php 類 MySQLDriver 擴展

DBCommonMethods 實現 DBInterface { public function __construct($host, $db, $uid, $password)

{

父::__construct($host, $db, $uid, $password); }

public function db_connect() { //連接代碼在這裡 }

public function delete($where) { //這裡刪除代碼 }

public function insert($data) { //在這裡插入代碼 }

public function read($where) { //讀取代碼到這裡 }

public function update($where) { //更新代碼放在這裡 }

} ?>

函數重載

子類中的函數覆蓋與父類同名的函數。 在子類中,開發者可以修改繼承自父類的函數定義。

函數 getPrice() {

迴聲 $this->price 。 “<br/>”;

返回 $this-> 價格;

}

函數 getTitle(){

迴聲 $this->title 。 “<br/>”;

返回 $this->title;

}

能見度

PHP 中的每個方法和屬性都有其可見性,由諸如 private、public 和 protected 等關鍵字聲明,如下所述:

  • 公共 - 它允許來自外部的任何用戶訪問方法和屬性。
  • Private - 它不授予除自身以外的任何用戶的訪問權限。
  • 受保護 - 它只允許子類及其自身訪問方法和屬性。

報名參加世界頂尖大學的軟件工程課程獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。

結論

本文提到了 PHP 中面向對象編程的基本概念。

如果您有興趣了解有關全棧軟件開發的更多信息,請查看 upGrad 和 IIIT-B 的全棧軟件開發執行 PG 計劃,該計劃專為工作專業人士設計,提供 500 多個小時的嚴格培訓、9 個以上的項目,和任務、IIIT-B 校友身份、實用的實踐頂點項目和頂級公司的工作協助。

成為全棧開發人員

立即申請軟件工程碩士