物件導向是現在很多PHP專案的基礎(Laravel、Symfony、WordPress Plugin)幾乎都用 OOP。
那要遵循DRY原則就會用到OOP而OOP有三核心
繼承 (extends) → 程式碼重用,父類別特徵傳下來。
封裝 (Encapsulation) → 隱藏內部細節,提供對外介面。
多型 (Polymorphism) → 不同物件可以用相同方法名稱,但行為不同
這三大核心分別又有很多基礎知識
先看物件(object)和類別(class)是什麼?
簡單來說:
建立物件時,屬性大多用 public / protected / private
屬性(Properties):
public → 外部可以直接存取
protected → 只有本類別或子類別能存取
private → 只有本類別可以存取
為了方便學習 我都先用public方便存取及使用
Class使用方法
class phone{
public $model; //手機型號
public $price; // 手機價格
}
定義一個類別phone,那手機這個類別,一定有很多型號以及價錢,所以把它寫進phone這個類別裡面,model和price則是phone的屬性
那定義類別和它的屬性,就要建立根據類別定義出來的物件了,new
這個關鍵字是用來創造物件的
<?php
class phone{
public $model;
public $price;
}
$apple= new phone(); // 建立新物件apple手機
現在apple手機已經建立完了,要來設定它的屬性值
class phone{
public $model;
public $price;
}
$apple = new phone();
// 給蘋果手機設定屬性
$apple->model = "iPhone 15";
$apple->price = 10000;
//輸出結果
echo $apple->model."<br>";
echo $apple->price."<br>";
輸出
iPhone 15
10000
->
這個箭頭是用在clss外存取物件用的