构造函数和析构函数
来源:互联网 发布:湿热一瞬间新域名 编辑:程序博客网 时间:2024/06/05 00:55
构造函数
构造函数被定义为对象实例化时自动执行的一段代码。
OOP构造函数的一些优点:
1、构造函数可以接受参数,能够在创建对象时赋给特定的对象属性
2、构造函数可以调用类方法或其他函数
3、类的构造函数可以调用其它构造函数,包括父类的构造函数
notice
PHP4也提供了类构造函数,但它使用了与PHP5不同的语法,更为麻烦。PHP4的构造函数只是与类同名的类方法。这种约定使得很难对类重命名。新的构造函数命名约定解决了这个问题。但是,处于对兼容性的考虑,如果一个类没有包含满足新命名约定的构造函数,就会查找与类同名的方法;如果找到,此方法就被认为是构造函数。
构造函数一般语法
function __construct([argumrnt1, argumrnt2...argumrntN ]){}
tips:如果要确保这些方法只能在构造函数中被调用,就应当将其作用于设置为private,确保无法通过对象或子类直接调用它们。
调用父类构造函数
PHP不会自动调用父类构造函数,必须使用parent 关键字显示调用。实例如下:
<?php class Employee{protected $name;protected $title;function __construct(){echo "<p>Employee constructor called!</p>";}}class Manager extends Employee{function __construct(){parent::__construct();echo "<p>Manager constructor called!</p>";}}$employee = new Manager();?>
调用无关的构造函数
可以调用与实例化对象没有任何关系的类构造函数,只需在__construct 前面加上类名即可。
举个例子,假设前面示例中的Manager 和 Employee 类没有继承层次关系,只是同一个库中的两个类。Employee的构造函数依然可以在Manager构造函数中被调用:
Employee::__construct();
这样调用Employee构造函数将得到与前例相同的结果。
析构函数
析构函数名为 __destruct()。
脚本执行结束时,PHP会撤销内存中的所有对象。
因此,如果实例化的类和实例化时创建的信息都留在内存中,就不需要显示的声明析构函数;
但是,如果实例化时创建了不那么容易丢失(如存储在数据库中)的数据,并应当在对象撤销时撤销这些数据,为此就需要创建一个定制的析构函数。
0 0
- 构造函数,拷贝构造函数和析构函数
- 构造函数、拷贝构造函数和析构函数
- 构造函数和析构函数
- 构造函数和析构函数
- 构造函数和析构函数
- 构造函数和析构函数
- 构造函数和析构函数
- 关于构造函数和析构函数
- 构造函数和析构函数
- 浅析构造函数和析构函数
- 构造函数和析构函数
- 浅析构造函数和析构函数
- 构造函数和析构函数
- 构造函数和析构函数
- 构造函数和析构函数
- 构造函数和析构函数
- 构造函数和析构函数
- 构造函数和析构函数
- 代码静态分析工具 --- CppCheck
- c++引用的总结
- android动态注册广播,监听网络状态变化,判断网络模式
- QTP中与时间同步点:Sync、Wait、Waitproperty、Exist
- IOS中的单例模式
- 构造函数和析构函数
- 线段树区间更新
- 打开动态缓存图层时,即使将图层设置为透明,背景仍然为黑色。(服务器操作系统为windows server 2003)
- Codeforces 618C Constellation
- hdu 2807 The Shortest Path(最短路)
- 支付宝获取私钥和公钥
- TED-如何系列
- freemark 条件判断
- leetcode---Integer to Roman