<?php
//类的定义以关键字class开始,类的命名通常以每个单词第一个字母大写
class NbaPlayer{
public $name = "Jordan"; //定义属性
public $height = "198cm";
public $team = "Bull";
public $playerNumber = "23";
//构造函数,在对象被实例化的时候自动调用
function __construct($name,$height,$weight,$team){
echo "It is an NbaPlayer constructor\n";
$this->name = $name;
//$this是PHP里面的伪变量,表示对象自身。可以通过$this->的方式访问对象的属性和方法
$this->height = $height;
$this->weight = $weight;
$this->team = $team;
}
//析构函数,在程序执行结束的时候会自动调用
//析构函数通常被用于清理程序使用的资源。比如程序使用了打印机,那么可以再析构函数里面释放打印机资源
function __destruct(){
echo "Destroying".$this->name."\n";
}
//定义方法
public function run(){
echo "Running\n";
}
public function dribblr(){
echo "Dribbling\n";
}
public function pass(){
echo "Passing\n";
}
}
//类到对象的实例化
//类的实例化为对象时使用关键字new,new之后紧跟类的名称和一对括号
$jordan = new NbaPlayer("Jordan","198cm","98kg","Bull");
//对象中的属性成员可以通过"->"符号来访问
echo $jordan->name."\n";
//对象中的成员方法可以通过"->"符号来访问
$jordan->dribble();
$jordan->run();
//每一次用new实例化对象的时候,都会用类名后面的参数列表调用构造函数
$james = new NbaPlayer("James","203cm","120kg","Heat")
echo $james->name."\n";
//对象的引用用于访问对象的属性和方法,$james,$james1和$james2都是对象的引用
//$james和$james1是对象的两个独立引用
//$james2是$james的影子,使用对象的同一个引用,任何一个赋值为null相当于删除了同一个引用
$james1 = $james;
$james2 = &$james
$james = null;
echo "from now on James will not be used.\n"
?>
您可能感兴趣的文章: