PHP5中面向对象的构造方法和析构方法

<?php
  class Person{
   var $name;
   var $age;
   var $sex;
   //PHP的构造方法:
   //1,在对象被创建以后最先"自动"调用的方法!
   //2,需要魔术方法__construct();来进行构造方法(可以理解为函数)!
   //3,目的:给对象的成员进行初始化。
   function __construct($name="",$age=0,$sex="男"){
 // $this关键字实现了对象内部的成员访问(逻辑关系)。
 // $this代表了引用对象的本身。
 // 如:$p1 = new Person; 则$this关键字代表了$p1本身指向的对象。
    $this->name=$name;
  $this->age=$age;
  $this->sex=$sex;
   }

   function say(){
    echo "我的名字:{$this->name},我的年龄:{$this->age},我的性别:{$this->sex}。<br />";
   }

   function run(){
  
   }

   function eat(){
  
   }
   //PHP的析构方法:
   //1,在对象被释放之前最后"自动"调用的方法!
   //2,需要魔术方法__destruct();来进行析构方法(可以理解为函数);
   //3,目的:关闭一些资源,做一些清理工作。
   function __destruct(){
    echo $this->name."再见!<br />";
   }
  
  }

 $p1=new Person("张三",20,"女");
 $p2=new Person("李四",25);
 $p3=new Person("王五");


/*

 $p1->name="zhangsan";
 $p2->name="lisi";
 $p3->name="wangwu";
*/
 $p1->say();
 $p1=null;//PHP5中一旦对象的引用找不到对象,其垃圾回收机制会立即回收掉$p1的对象,所以会首先执行析构方法,从"栈内存"中出栈!
 $p2->say();
 $p3->say();
 
?>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值