PHP中的面向物件實踐
基本實踐
高階實踐
特殊實踐
類別的概念
實例化的概念
建構子
析構函數
資料存取
物件 src="http://image.codes51.com/Article/image/20150919/20150919094753_0679.jpg" alt="PHP面向
物件
設計-基本實作DAY 2">
Dribbling
Passing
In NbaPlayerJames Constructor
2575203cm
Output:
In NbaPlayer Constructor
Jordan
Dribbling
Passing
In NbaPlayer Constructor
James
From now on James will not be used.
Destroying Jordan的引用直接指向詹姆斯這個對象。
$james2是一個指向$james這個對象引用的
對象对象被实例化的时候自动调用
function __construct($name,$height,$weight,$team,$playerNumber){ //没有被明确调用,但是也被调用了
echo "In NbaPlayer Constructor\n";
$this->name=$name; //$this是PHP里的伪变量,表示对象自身。可以通过$this->的方法访问对象的属性和方法
$this->height=$height;
$this->weight=$weight;
$this->team=$team;
$this->playerNumber=$playerNumber;
}
//定义方法
public function run(){
echo "Running\n";
}
public function jump(){
echo "Jumping\n";
}
public function dribble(){
echo "Dribbling\n";
}
public function shoot(){
echo "Shooting\n";
}
public function dunk(){
echo "Dunking\n";
}
public function pass(){
echo "Passing\n";
}
}
//类到对象的实例化
//类的实例化为对象时使用关键字new,new之后紧跟这类的名称和一对括号
$jordan = new NbaPlayer("Jordan","198cm","98kg","Bull","23");
//对象中的属性成员可以通过->符号来访问
echo $jordan->name."\n";
//对象中的成员方法可以通过->符号来访问
$jordan->dribble();
$jordan->pass();
//每一次用new实例化对象的时候,都会用类名后面的参数列比调用构造函数
$james= new NbaPlayer("James","203cm","120kg","Heat","6");
echo $james->name;
echo $james->height;
echo $james->weight;
echo $james->team;
echo $james->playerNumber;
?>Output:In NbaPlayer Constructor
JordanDribblingPassingIn NbaPlayer ConstructorJamesFrom now on James willnot notPlayer ConstructorJamesFrom now on James not not be 二. Output:In NbaPlayer ConstructorJordan
DribblingPassingIn NbaPlayer ConstructorJamesDestroying James
From now on James will not be used.