首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 學習筆記:面向物件程式設計 (OOP) 核心概念

     編輯:PHP 綜合知識

基本概念

概念說明
類別定義物件的藍圖,包含屬性(變數)與方法(函數)。
物件類別的實例,佔有記憶體空間,擁有獨立屬性值。
成員屬性類別內部變數,描述物件狀態(如 $name, $age)。
成員方法類別內部函數,描述物件行為(如 say(), run())。
實例化$obj = new ClassName(); 建立物件。

三大特性

  1. 封裝:隱藏內部細節,透過公有方法存取私有屬性(private + getter/setter)。
  2. 繼承:子類別擴展父類別,復用與擴充功能(extends)。
  3. 多態:相同介面不同實作,父類別型別參考子類別物件(介面 + 實作類別)。

面向物件 vs 面向過程

  • 面向過程:最小單位是函數,資料與邏輯分離。
  • 面向物件:最小單位是物件,資料與邏輯封裝在一起。

類別宣告與使用流程

<?php
// 1. 宣告類別
class Person {
    private $name;
    private $age;

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

    public function getName() { return $this->name; }
    public function setName($name) { $this->name = $name; }
    public function say() { echo "我是 {$this->name},{$this->age} 歲
"; } } // 2. 實例化物件 $p1 = new Person('張三', 25); $p2 = new Person('李四', 30); // 3. 使用物件 $p1->say(); $p2->say();

設計原則

  • 單一職責:一個類別只做一件事。
  • 開放封閉:對擴展開放,對修改關閉。
  • 里氏替換:子類別可替換父類別不破壞功能。
  • 介面隔離:介面細小精簡,不強迫實作不需方法。
  • 依賴倒置:依賴抽象介面,不依賴具體實作。

掌握語法容易,難點在於如何設計出高內聚、低耦合的類別結構,需不斷練習與重構。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved