面向对象析构方法和在内存的存储

析构方法:__destruct()
在对象销毁的时候自动调用的方法。

 

$lily = 3;
echo $lily;
echo "<br>";
class Person{
  public function __construct(){
 echo '出生了<br/>';
  } 
  public function yy(){
  echo "yyyyy";
  }
  
  //析构方法
  //在对象销毁的时候自动调用 用于回收资源
  public function __destruct(){
  echo '夭折了<br/>';
  }}$p = new Person();
//自动销毁对象,也会触发destruct()方法
unset($p);
echo '那年,她十八岁,我也十八岁,夕阳的午后,我看到了她与一个男孩一起,男孩手里有我送给她的手链<br/>';

 

以往的函数调用,PHP引擎碰到函数直接跳过,直到遇到函数的调用才会回去找函数然后再加载
数。
而类不一样,类只要php读到代码就会在内存中形成类的代码块,只是不执行而已,到碰到类的实例
化时,会在另一块内存中形成对象实例。
通过现实例子对比对象

 1 <?php
 2   class A{
 3   public $name;
 4   } class B{
 5   public $name;
 6   } $a = new A;
 7   //$d = new A;
 8   //$d->name ='zhangsan';
 9   var_dump($a);
10   //var_dump($d);
11   //取别名 不会产生新的对象
12   $c = $a;
13   //$b = new B;
14   //在对象的比较中 == 只要两个对象是同一个类的实例并且所有属性及值都相同则相等
15   // if($a == $d){
16   // echo 'Y';
17   // }else{
18   // echo 'N';
19   // }
20   
21   //在对象中的比较
22   //代表唯一的作用 比较两个对象是否是同一个对象
23   
24   if($a === $c){
25   echo 'Y';
26   }else{
27   echo 'N';
28  

 


posted @ 2019-01-08 20:05  街特闷  阅读(208)  评论(0编辑  收藏  举报