PHP 构造方法说明
2015-06-27 16:07
489 查看
1、构造方法的8点说明:
①构造方法名和类名相同(php4版),php5版的构造方法名可以和类名相同,也可以是__construct()
②构造方法没有返回值
③构造方法的主要作用是完成对新对象的初始化,并不是创建对象本身。
④在创建新对象后,系统会自动的调用该类的构造方法,不需要自己写代码调用
⑤一个类有且只有一个构造方法,在php5后虽然__construct() 和 类名() 可以共存,但是实际上也只能使用一个。
⑥如果没有给类自定义构造方法,则该类使用系统默认的构造方法。 */
⑦如果给类自定义了构造方法,则该类的默认构造方法被覆盖。
⑧构造方法的默认访问修饰符是public
2、在php 5 中一个类可以同时有 两种形式的构造方法:
__construct() 和 类名() , 当两个同时存在的时候,优先调用__construct(), 请大家以后使用__construct()
两种构造函数如下:
publicfunction __construt()
{
//函数体;
}
publicfunction 类名()
{
//函数体;
}
PHP4中只能有一种形式的构造函数:
publicfunction 类名()
{
//函数体;
}
3、构造方法注意事项:
(1)一旦自定义了一个构造函数,默认的构造函数就被覆盖了,这时在创建对象的时候就要使用自定义的构造函数.
(2)一个类只能有一个构造函数.(不能重载)
4、构造方法代码实例:
①构造方法名和类名相同(php4版),php5版的构造方法名可以和类名相同,也可以是__construct()
②构造方法没有返回值
③构造方法的主要作用是完成对新对象的初始化,并不是创建对象本身。
④在创建新对象后,系统会自动的调用该类的构造方法,不需要自己写代码调用
⑤一个类有且只有一个构造方法,在php5后虽然__construct() 和 类名() 可以共存,但是实际上也只能使用一个。
⑥如果没有给类自定义构造方法,则该类使用系统默认的构造方法。 */
⑦如果给类自定义了构造方法,则该类的默认构造方法被覆盖。
⑧构造方法的默认访问修饰符是public
2、在php 5 中一个类可以同时有 两种形式的构造方法:
__construct() 和 类名() , 当两个同时存在的时候,优先调用__construct(), 请大家以后使用__construct()
两种构造函数如下:
publicfunction __construt()
{
//函数体;
}
publicfunction 类名()
{
//函数体;
}
PHP4中只能有一种形式的构造函数:
publicfunction 类名()
{
//函数体;
}
3、构造方法注意事项:
(1)一旦自定义了一个构造函数,默认的构造函数就被覆盖了,这时在创建对象的时候就要使用自定义的构造函数.
(2)一个类只能有一个构造函数.(不能重载)
4、构造方法代码实例:
<?php //屏蔽程序 notice 级错误 error_reporting(E_ALL^E_NOTICE); //php面向对象编程之构造方法: class Person1{ public $name; public $age; } $p1=new Person1(); //再给属性赋值 $p1->name="宋江"; $p1->age=33; //this的理解: class Person2 { public $name; public $age; //这个就是构造方法,php5独有 public function __construct($iname,$iage) { //这里如果我们直接用$name,$age,系统认为我们是创建了两个新的变量 //$name=$iname; //$age=$iage; //此处的$this->name、$this->age则解决了以上问题,加上$this之后该变量就是指上面创建的成员属性; //$this 本质可以理解就是这个对象的地址,哪个对象传递时使用到$this, 就是传递哪个对象地址;
<span style="white-space:pre"> </span>//this就相当于传的是地址,把上面$name的地址传过来了而不是再新建一个$name变量
//注意:$this只能在类中使用,不能在类外部使用. $this->name=$iname; $this->age=$iage; echo "执行构造方法<br/>"; } } $p1=new Person2("张清",90); echo "我是".$p1->name."--我现在的年龄是".$p1->age."<br/>"; $p2=new Person2("宋江",33); echo "我是".$p2->name."--我现在的年龄是".$p2->age."<br/>"; class Cat { //每一个类中必须有一个构造方法,若我们不定义,系统会自动生成 //若不定义构造方法,则该类使用系统默认的构造方法,类中默认的构造方法如下: function __construt() { } } $cat1=new Cat(); ?>
相关文章推荐
- 用Thinphp发送电子邮件的方法
- 第4讲 The Zend Framework MVC Architecture
- _STORAGE_WRITE_ERROR_
- 新手安装及配置PHP开发环境
- 用php实现遍历目录
- PHP 成员方法和类的调用
- PHP 函数传递基本数据类型和数组的内存传递方式
- php中GD库的简单使用
- 第3讲 zend原理剖析
- FTP服务
- NTP和DHCP服务器搭建
- Thrift之TProtocol系列TCompactProtocol解析
- 5. Laravel5学习笔记:在packagist上发布自己的composer包
- 解决PHP因大量用户使用数据库造成数据库拥堵的几个方法
- 开发板tftp下载文件
- (Ubuntu) Install PHP Composer
- wamp服务器访问php非常缓慢的可能原因以及解决方法
- phpstorm+Xdebug断点调试PHP
- Yii 分页器Pagesize的设置方法
- php 缓存工具类 实现网页缓存