从一开始接触C语言或者是PHP,听说过析构函数构造函数等等,究竟什么是析构函数,脑子里依旧发蒙。不过,下面的PHP代码也许能帮助你理解。
<?
class A{
public $name;
public $age;
public function __construct($name,$age)
{
$this->name=$name;
$this->age=$age;
}
// public $name="haha";
function call(){
return "1";
}
}
class B extends A
{
public $name="6666";
public $sex = "nande";
function tell($sex)
{
$sex = $sex;
return $sex;
}
}
$A=new A(a,a);
echo $A->name;
$B=new B(1,2);
echo "this is b";
echo $B->name;A类中有一个构造函数,B在继承A类的过程中,也继承了构造函数。那么,在创建$B的时候,执行了什么呢?
第一步,先执行继承
第二部,执行构造函数,把new(1,2)的值分别传入到对应的name,sex 的变量里。
此时你会发现,B类的name没有效果。这是肯定的,因为构造函数是指:在new的过程中,“自动执行”的。不像是其它函数,需要我们在调用的时候执行,而构造函数在new的过程,会被执行一次。
这就是构造函数的作用。
呐,头一次写,不明白的地方多多包涵
501

被折叠的 条评论
为什么被折叠?



