面向對象:
一:定義類
class Dog
{
var $name;
var $age;
var $pinzhong;
function Jiao()
{
echo "{$this->name}在叫";
}
}php
二:實例化對象
$dog = new Dog();
調用對象的成員:
$dog->name = "旺財";
$dog->Jiao();html
三:$this關鍵字
$this->name;this表明該對象,若是要在成員方法中調用成員變量,必定要使用$this找出該成員變量
四:構造函數:
function __construct($n,$a,$p)
{
$this->name = $n;
$this->age = $a;
$this->pinzhong = $p;
}
五:析構函數:
function __destruct()
{
echo "拜拜";
}安全
六:封裝:
將類裏面的成員變量加一個private修飾符變成私有的,目的是爲了保護類裏面的成員不被外界隨意訪問,從而確保類的安全性。若是將變量設置爲私有,如何去訪問:
1.本身寫函數get函數set函數,而後來對變量賦值和取值
2.用系統自帶的__get()函數和__set()函數來實現類裏面的變量賦值取值
function __set($name,$value)
{
$this->$name = $value;
}
function __get($name)
{
return $this->$name;
}函數
七:繼承
繼承通常是單繼承:一個兒子只能有一個父親
子類能夠繼承父類的全部成員
子類能夠對父類的成員方法進行重寫:(函數名同樣),若是要在子類方法中調用父類的方法,用parent::Jiao();
function Jiao()
{
parent::Jiao();
echo "hello";
}
final關鍵字能夠定義該類爲最終類,不可被繼承
靜態:
關鍵字:static ,若是成員聲明瞭爲靜態的,那麼該成員是屬於該類的,不是屬於對象的
如何調用靜態的成員:
HaShiQi::$height = 10;
HaShiQi::Gao();
用類名加雙冒號調用類的靜態成員
ui
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文檔</title> </head> <body> <?php class Dog { private $name; private $age; private $pinzhong; function __construct($n,$a,$p) //構造函數,兩個下劃線 { $this->name=$n; $this->age=$a; $this->pinzhong =$p; } function SetName($n) { $this->name = $n; } function SetAge($m) { if($m>=1 && $m<=5) { $this->age =$m; } } function Jiao() { echo "{$this->name}在叫,它{$this->age}歲了"; //this表明該對象,若是要在成員方法中調用成員變量,必定要使用$this找出該成員變量 } function __destruct() { echo "拜拜"; } } $dog =new Dog("旺財",10,"金毛"); $dog->SetName("小強"); $dog->SetAge(3); $dog ->Jiao(); ?> </body> </html>