类? 物以类聚,把具有相特性的对象归类到一个类中? 类定义了这些相对象拥有的相同的属性和方法?">
时间:2021-07-01 10:21:17 帮助过:9人阅读

<插入两张图片>


? 析构函数
对象的实例化 //类的实例化为对象时使用关键字new,new之后紧跟这类的名称和一对括号 $jordan = new NbaPlayer(); //对象中的属性成员可以通过->符号来访问 echo $jordan->name."\n"; //对象中的成员方法可以通过->符号来访问 $jordan->dribble(); $jordan->pass(); ?>
对象被实例化的时候自动调用
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
Jordan
Dribbling
Passing
In NbaPlayer Constructor
James
203cm
120kg
Heat
6
析构函数
对象被实例化的时候自动调用
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;
}
//析构函数,在程序执行结束的时候会自动调用
//析构函数通常被用于清理程序使用的资源,比如程序使用了打印机,那么可以在析构函数里面释放打印机资源。
function __destruct(){
echo "Destroying ".$this->name."
";
}
//定义方法
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;
//通过把变量设置为null,可以触发析构函数的调用
$james=null;
echo "From now on James will not be used.
";
?>对象引用的基本概念
对象引用赋值
詹姆斯是一个对象。
$james就是对象的引用,直接指向詹姆斯这个对象。
$james1和$james是两个独立的引用,$james1这个对象的引用直接指向詹姆斯这个对象。
$james2是一个指向$james这个对象引用的对象引用(有点拗口),没有直接指向詹姆斯这个对象。$james2是通过$james这个对象引用去指向詹姆斯这个对象的
现在直接指向对象詹姆斯的对象的引用有两个,即$james和$james1。而$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;
}
//析构函数,在程序执行结束的时候会自动调用
//析构函数通常被用于清理程序使用的资源,比如程序使用了打印机,那么可以在析构函数里面释放打印机资源。
function __destruct(){
echo "Destroying ".$this->name."
";
}
//定义方法
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;
//通过把变量设置为null,可以触发析构函数的调用
//当对象不会再被使用的时候,会触发析构函数
//james1也是指向new NbaPlayer();
$james1=$james;
$james=null;
echo "From now on James will not be used.
";
?>Output:对象被实例化的时候自动调用
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;
}
//析构函数,在程序执行结束的时候会自动调用
//析构函数通常被用于清理程序使用的资源,比如程序使用了打印机,那么可以在析构函数里面释放打印机资源。
function __destruct(){
echo "Destroying ".$this->name."
";
}
//定义方法
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;
//通过把变量设置为null,可以触发析构函数的调用
//当对象不会再被使用的时候,会触发析构函数
//james1也是指向new NbaPlayer();
$james1=$james; //$james1直接指向詹姆斯
$james2=&james; //$james2相当于$james的影子,指向$james, $james再指向詹姆斯
$james=null; //不需要再次设置$james2=null,因为他俩的效果是一样的
$james1=null; //任何一个赋值为null相当于删除了一个对象的引用
echo "From now on James will not be used.
";
?>以上就介绍了PHP面向对象编程——基本实践DAY 2,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。