面向對象(OOP)
一、什麼是面向對象:
1、面向過程:具體化的實現,細節明確。二、OOP特點:
2、抽象化的執行,具體細節化的東西已經被包裝。
封裝:隱藏對象屬性和細節,僅對外公開接口。將數據與操作數據的源代碼進行有機結合,形成“類”,其中數據和函數都是類的成員。三、關鍵OOP概念
繼承:從一個基類得到一個或多個類的機制。
多態:通常關注的是一個接口或者基類,而不必考慮所屬的具體類。
類(class)四、創建OOP
對象(object)
字段(filed)
屬性(attribute)
方法(method)
1、類的創建
class Computer{ //類名第一個字母一般大寫
類的字段
類的方法
} 對象的聲明:
$computer = new Computer() ;//表示實例化的過程
$Computer1 = new Computer(); //把實例化對象的地址賦給$computer,$computer就是對象應用的過程
$Computer1 = new Computer(); //第一臺電腦
$Computer2 = new Computer(); //第二臺電腦
var_dump($Computer1); //可以打印其相關信息
var_dump($Computer2);
2、字段的添加
class Computer{
public $_name;
public $_model;
}
聲明字段:public $_name = "聯想";
a) public 修飾符
b) $_name 變量名
c) "聯想" 變量值
讀取字段
echo $computer->_name;
設置字段
$computer->_name = 'DELL';
3、創建一個對象
$Computer1 = new Computer();
echo $Computer1->_name;
echo $Computer1->_model;
//給成員字段賦值
$Computer1->_name = 'dell';
//賦值
echo $Computer1->_name;
4、創建方法
class Computer{
public $_name;
public $_model;
function __run(){
echo "我是運行的方法";
}
}
$Computer1 = new Computer();
$Computer1 -> __run();
5、帶參數的方法
class Computer{
public $_name;
public $_model;
function __run($_who){
echo $_who."是運行的方法";
}
}
$Computer1 = new Computer();
$Computer1 -> __run('Lee');
6、構造方法
class Computer{
//創建一個構造方法
public function Computer(){
echo "我是構造方法。";
}
}
$computer = new Computer();
new computer();
只要實例化就會構造方法。
//PHP5 我們可以通過__construct的內置方法來識別構造方法,而不需要再和類名相同。
class Computer
{
public function __construct(){
echo "我是比較先進的構造方法";
}
7、析構方法:整個類使用完畢後執行,一般用於清理內存中的對象(腳本執行完畢後一般會自動清理),比如數據庫等可以用此方法。
public function __destruct(){
echo "我是析構方法。";
}