php学习笔记 面向对象的构造与析构方法

时间:2022-08-24 16:37:09

代码如下:


<?php 
/* 
* 1.对象中成员的访问(在一个对象的内部方法中,去访问本对轩昂中的其他方法和成员属性) 
* 2.在对象中的方法中都默认有一个$this关键字,这个关键字代表调用这个方法的对象 

* 构造方法 

* 1.是对象创建完成后,“第一个”“自动调用”的方法 

* 2.构造方法的定义,方法名是一个固定的, 
* 在php4中:和类名相同的方法就是构造方法 
* 在php5中:构造方法选择使用 魔术方法__construct() 所有类中声明构造方法都使用这个名称 
* 优点:在改变类名时,构造方法不用改变 
* 魔术方法: 在类中写出了某个魔术方法,这个方法对应的功能就会添加上 
* 方法名称都是固定的(都是系统提供好的),没有自己定义的 
* 每一个魔术方法,都是在不同时刻为了完成某一功能自动调用的方法 
* 不同的魔术方法有不同的调用时机 
* 都是以 __ 开头的方法 
* __construct(); __destruct(); __set();...... 

* 作用:为成员属性初始化; 


* 析构方法 

* 1.当对象被释放之前最后一个“自动”调用的方法 
* 使用垃圾回收器(java php),而c++手动 的释放 

* 作用:关闭一些资源,作一些清理的工作 

* __destruct(); 

*/ 
class Person{ 
var $name; 
var $age; 
var $sex; 
//php4中的构造方法 
/*function Person() 

//每声明一个对象都会调用 
echo "1111111111111111"; 
}*/ 
//php5中的构造方法 
function __construct($name,$age,$sex){ 
$this->name=$name; 
$this->age=$age; 
$this->sex=$sex; 

function say(){ 
//$this->name;//对象中成员的访问使用$this 
echo "我的名字:{$this->name},我的年龄:{$this->age}<br>" 

function run(){ 

function eat(){ 

//析构方法 
function __destruct(){ 


$p1=new Person("zhangsan",25,"男"); 
$p2=new Person; 
$p3=new Person;