什麼是 OOP ( object oriented programming )
字意: 面向「對象」編程。
口語理解: 以「物件」為導向的電腦程式設計
好處目的: 讓程式可以更好描述,讓工作更方便完成。
OOP的處理精神:
事先準備好物件,接著在處理的過程中~
只要關心物件有什麼功能並且完成功能的結果,而不用再關心物件內部的程序了。
什麼叫物件? 一個包含「外在特徵」及「內在行為」的東西,簡單的形容也就是一個含有功能程式的東西。
例如:手機這個物件
外在特徵:尺寸、顏色…..視覺看到的樣子,也就是外在的「屬性」描述。
內在行為:打電話、發短訊、上網、玩遊戲…….,也就是可以執行的「功能」。
面向對象、物件導向的語法 (操作方法)
1、先設計一個「class類」程式
2、通過class類程式創建獲得「物件」
3、使用物件指定 -> 設定物件自己內部的屬性、樣式、定義
4、使用物件導向 -> 執行物件自己內部的方法功能
在 ref_test 資料夾中, 再建立一個 oop_test 資料夾來練習以下檔案, 建立一個 oop_test.php 檔案
<?php /* * 使用一個class類來描述一個物件 * class類是用來描述一個物件的屬性樣式及方法功能 (類似於一個模具),是不能直接執行的。 * * class 類名稱 { * * //描述設定外在特徵 (屬性) * public $屬性名稱1 * public $屬性名稱2 * * //定義內在行為 (方法、功能) * public function 方法名稱1 ( ){.......} * public function 方法名稱2 ( ){.......} * } */ class Phone { //外在特徵 public $color; //顏色 public $size; //尺寸 //內在行為 public function call(){ echo $this->color."電話在打電話<br>"; } public function playGame(){ echo $this->color."電話在玩遊戲<br>"; } } /* * 接著運用類程式來創建物件,創建物件的語法如下 * $物件的變數名稱 = new 類名稱 ( [參數1, 參數2, .......] ); * 如果沒有參數, 也可撰寫成如下 * $物件的變數名稱 = new 類名稱; */ $phone1 = new Phone; echo '<pre>'; var_dump($phone1); echo '</pre>'; $phone2 = new Phone; echo '<pre>'; var_dump($phone2); echo '</pre>'; /* * 物件的使用 * $物件名稱 -> 物件內的成員(屬性、方法) */ $phone1 -> color = '金色'; echo '<pre>'; var_dump($phone1); echo '</pre>'; $phone2 -> color = '銀色'; echo '<pre>'; var_dump($phone2); echo '</pre>'; $phone1 -> call(); $phone2 -> playGame(); ?>