php 构造函数作用是什么,PHP构造函数的用途

构造函数是在对象初始化(其内存分配,实例属性复制等)之后执行的函数。其目的是将对象置于有效状态。

通常,处于可用状态的对象需要一些数据。构造函数的目的是强制在实例化时将该数据提供给对象,并禁止没有这些数据的任何实例。

考虑一个简单的类,它封装一个字符串,并有一个方法返回此字符串的长度。一个可能的实现是:

class StringWrapper {

private $str;

public function setInnerString($str) {

$this->str = (string) $str;

}

public function getLength() {

if ($this->str === null)

throw new RuntimeException("Invalid state.");

return strlen($this->str);

}

}

为了处于有效状态,此函数需要在getLength之前调用setInnerString。通过使用构造函数,可以强制所有实例在调用getLength时处于良好状态:

class StringWrapper {

private $str;

public function __construct($str) {

$this->str = (string) $str;

}

public function getLength() {

return strlen($this->str);

}

}

您还可以保留setInnerString以允许在实例化后更改字符串。

当一个对象将要从内存中释放时,调用析构函数。通常,它包含清理代码(例如,关闭对象持有的文件描述符)。它们在PHP中很少见,因为PHP会在脚本执行结束时清除脚本所拥有的所有资源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值