首頁  >  文章  >  後端開發  >  PHP OOP 概念:類別、物件和繼承

PHP OOP 概念:類別、物件和繼承

WBOY
WBOY原創
2024-07-24 09:08:14745瀏覽

PHP OOP Concepts: Classes, Objects and Inheritance

PHP 中的類別

PHP 中的類別是定義物件的屬性和行為的藍圖或範本。它是一種封裝資料和操作該資料的函數的方法。類別定義了物件的結構和行為,包括其屬性(資料)和方法(函數)。

<?php 

class Employee {
  public $name;
  public $salary;

  public function __construct($name, $salary) {
    $this->name = $name;
    $this->salary = $salary;
  }

  public function getDetails() {
    echo "Name: $this->name, Salary: $this->salary";
  }
}

PHP 中的對象

PHP 中的物件是類別的實例,它代表現實世界的實體或概念。它有自己的一組屬性(資料)和方法(函數)來描述和定義其行為。物件是從類別創建的,可以獨立操作。

$manager = new Manager();
$developer = new Developer();

PHP 中的繼承

PHP 中的繼承是一種允許一個類別繼承另一個類別的屬性和行為的機制。繼承類別(子類別或子類別)繼承父類別的所有屬性和方法,也可以新增新的屬性和方法或覆寫從父類別繼承的屬性和方法。

//Inheritance 

class Manager extends Employee {
  public $department;

  public function __construct($name, $salary, $department) {
    parent::__construct($name, $salary);
    $this->department = $department;
  }

  public function getDetails() {
    parent::getDetails();
    echo ", Department: $this->department";
  }
}

class Developer extends Employee {
  public $specialty;

  public function __construct($name, $salary, $specialty) {
    parent::__construct($name, $salary);
    $this->specialty = $specialty;
  }

  public function getDetails() {
    parent::getDetails();
    echo ", Specialty: $this->specialty";
  }
}

// Create objects
$manager = new Manager("John Doe", 80000, "Marketing");
$developer = new Developer("Jane Smith", 70000, "Front-end");

// Access properties and methods
echo "Manager Details: ";
$manager->getDetails();
echo "\n";
echo "Developer Details: ";
$developer->getDetails();

每個類別都有姓名和薪水等屬性,以及 getDetails 等方法。程式碼從這些類別建立物件並使用它們的屬性和方法。在這裡我們可以看到類別如何繼承和添加新功能,以及物件如何用於儲存和顯示資料。我們可以透過在目前控制台中執行該專案來檢查此程式碼的輸出,輸出將是:

Manager Details: Name: John Doe, Salary: 80000, Department: Marketing
Developer Details: Name: Jane Smith, Salary: 70000, Specialty: Front-end

希望你已經清楚地理解了

以上是PHP OOP 概念:類別、物件和繼承的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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