PHP学习笔记第【18】天(2014.11.25)——构造函数与析构函数
来源:互联网 发布:知想科技 编辑:程序博客网 时间:2024/05/17 03:23
构造和析构
构造方法和析构方法
构造方法
实例化对象
在得到对象时,几乎都需要,对对象属性进行初始化,而且都是一样的操作,在一个操作中完成初始化,然后对该方法进行多次调用!
调用该方法初始化:
<?phpclass BaseClass { function __construct() { print "In BaseClass constructor\n"; }}class SubClass extends BaseClass { function __construct() { parent::__construct(); print "In SubClass constructor\n"; }}class OtherSubClass extends BaseClass { // inherits BaseClass's constructor}// In BaseClass constructor$obj = new BaseClass();// In BaseClass constructor// In SubClass constructor$obj = new SubClass();// In BaseClass constructor$obj = new OtherSubClass();?>
再前进一步:
是否可以在实例化后,自动调用该初始化的方法!
Php的oop机制,在new完成时,会试着调用一个叫做 __construct()的方法。如果我们将初始化的代码,写到这个方法内,就可以完成自动初始化!
该方法,在通过类实例化对象,也叫构造对象时,被自动调用的,常常用于初始化对象,这个方法被叫做 构造方法:(此方法,就是比普通方法多了一个自动调用的功能)
由于不用去调用这个构造方法,如何传参?
在实例化时,通过在类名后,增加实参列表的形式,为构造方法传参:
此时,需要注意,实例化时,类名后,可以增加括号,取决于,该对象的构造方法,是否需要参数,如果不需要,则可以省略,或者是一个空括号。 如果需要则一定要有括号,括号内是实参列表:
需要:
构造方法的兼容性问题:
PHP5,构造方法的名字,就是__construct()。在php5之前,构造方法名字为与类同名。为了兼容,也同时支持这个与类同名的构造方法:
如果同时出现,如何处理?
先__construct(),后 Student
找,__construct,
先Student(),后 __construct
找__construct,有一个不标准的错误提示
下面的写法比较常见:
析构方法
在对象消失(对象被销毁时),也会自动执行一个方法,称之为析构方法!
析构方法名字为 __destruct();
也会自动被调用!
该方法,用于释放对象所占用的额外资源,不是对象本身的内存空间!
什么情况下,对象会被销毁:
1, 脚本周期结束,自动销毁,几个对象销毁几次。
2, 销毁保存该对象的变量时:
3, 保存对象的变量,被赋值了其他数据。
任何新值都可以,甚至是原来类的新对象。都会导致原对象被销毁!
常见是使用null,表示销毁对象的含义!
$stu = null;
- PHP学习笔记第【18】天(2014.11.25)——构造函数与析构函数
- C++学习笔记(17)——虚函数与构造函数、析构函数
- C++学习笔记(17)——虚函数与构造函数、析构函数
- C++学习笔记(18)——虚函数与构造函数、析构函数(2)
- C++ 析构函数与构造函数 学习笔记1
- C++学习笔记---构造函数与析构函数
- PHP构造函数与析构函数
- php 构造函数与析构函数
- c++学习——构造函数与析构函数
- 拷贝构造函数与赋值构造函数(学习笔记)
- 拷贝构造函数与赋值构造函数(学习笔记)
- 学习笔记之深入浅出MFC 第8章 C++重要性质---构造函数与析构函数
- C++学习笔记(4)——派生类的构造函数和析构函数
- C++学习笔记(七) 构造函数与析构函数(上)
- 【面向对象】php新手之学习类与对象-构造函数与析构函数
- PHP面向对象——构造函数、析构函数
- PHP面向对象——构造函数、析构函数
- PHP面向对象——构造函数、析构函数
- OpenOffice将MS docx转换成pdf文件偶数页眉不显示问题解决办法
- 【c语言】 在全系1000学生中,征集慈善募捐,当总数达到10万元时就结束,统计此时捐款的人数,以及平均每人捐款的数目
- android studio 快捷键大全
- jQuery选择器大全
- yum安装PHP的安装memcache扩展全攻略
- PHP学习笔记第【18】天(2014.11.25)——构造函数与析构函数
- Ruby学习笔记1 -- 基本语法和数据类型, Class
- 【c语言】要求输出100~200之间不能被3整除的数
- Linux安装memcache
- azure的弹性计算成本评估
- 网络编程基础(1)
- 用广播的方式,动态判断网络连接状态
- CUDA:求平方和
- android 字体设置为楷体