PHP近些年來成爲全球最流行的網頁編程語言,該語言以弱類型、易兼容、門檻低、開發快、功能強著稱,且聽別人這麼說,我在有了c和c#基礎後學習PHP過程當中也並非很順利,該語言的一些特殊的語法規則又是讓我混淆,不過不得不說,它讓編程變得更加容易了。你們可能學習過C++或C#,應該知道面向對象的三大特徵:封裝性、繼承性、多態性。其實任何一門編程語言,除了語言特有的API不一樣外,語言自己的編程思想和理念是想通的。如今,就讓我帶你走進PHP中面向對象特性的實現方式。php
首先必須明白PHP爲面向對象設定的6個魔術方法:編程
__construct() 構造方法;c#
__destory() 析構方法;編程語言
__get();取值學習
__set();賦值this
__isset();判斷成員是否存在對象
__unset();刪除成員或屬性blog
而後,在回顧一下什麼是封裝性:封裝性顧名思義就是把類的成員和方法與外界封閉,外界沒法直接訪問該類的內部。習慣的作法是把成員和重要的方法設爲private。下面是一個典型的面向對象類:繼承
<?php
class Computer{
private $_name;
private $_model;
private $_cpu;開發
function __construct($name,$model,$cpu){ //這個構造方法帶了3個參數,對應了該類的3個私有成員,固然也能夠經過__set()來賦值
$this->_name=$name;
$this->_model=$model;
$this->cpu=$cpu;
}
private function __get($_key){
return $this->$_key;
}
private function __set($_key,$_value){
$this->$_key=$_value;
}
private function __isset($_key){
return isset($this->$_key);
}
private function __unset($_key){
return unset($this->$_key);
}
}
$computer=new Computer('聯想','G480','4核');
echo $computer->name;
?>