1-5-4
                        PHP簡易的物件導向觀念
                    
                
                                                            
                             
                            
                                
                                    您沒有觀看影片的權限
                                    請先登入,登入後,確認您的權限後,即可觀看影片。
                                 
                             
                         
                                                    
	- 這是一個名為 box 的類別:
class box
{
    
}
$box1 = new box();
$box2 = new box;
   
- 用new實例化後,$box1、$box2就是物件
- $color、- $size 為公開成員屬性;- __construct()為建構式,實例化時會同時執行;- render()為公開成員方法- 
- class box
{
    public $color;
    public $size = 100;
    public function __construct($size, $color = 'blue')
    {
        $this->size = $size;
        $this->color = $color;
    }
    public function render()
    {
        return "<p style='width: {$this->size}px; height: {$this->size}px; background: {$this->color};'></p>";
    }
}
$box1 = new box(80, 'red');
echo $box1->render();
$box2 = new box(120);
echo $box2->render();
 -   
- 在類別內部呼叫成員屬性用 $this->屬性,呼叫成員方法用$this->方法()
- 在物件中主要定義成員有三種(可用在成員屬性或成員方法):
	
		- public(公開成員):不論在物件本體,或是外部程式,都可以使接使用。
- private(私有成員):僅在該物件本體可以使用,外部程式或繼承於本物件之子類別無法使用。
- protected(保護成員):僅外部程式無法叫用,但物件本體及繼承的子類別均可使用。
 
- 靜態方法的用法,產出的內容會和之前的一樣
	
class box
{
    public static function mybox($size = 100, $color = 'blue')
    {
        return "<p style='width: {$size}px; height: {$size}px; background: {$color};'></p>";
    }
}
echo box::mybox(80, 'red');
echo box::mybox(120);
   
- 並沒有哪一種方法特別好,而是看使用需求來選擇要用一般的實例化方式,還是用靜態方法。
- 至於那些繼承、介面...等有的沒的用法,因為暫時用不到,所以等用得到時再來說吧。