关于PHP构造函数使用方法揭秘_PHP教程

原创
2016-07-15 13:27:09 515浏览

PHP经过长时间的发展,很多用户都很了解PHP了,这里我发表一下个人理解,和大家讨论讨论。大多数类都有一种称为构造函数的特殊方法。当创建一个对象时,它将自动调用PHP构造函数,也就是使用new这个关键字来实例化对象的时候自动调用构造方法。

PHP构造函数的声明与其它操作的声明一样,只是其名称必须是__construct( )。这是PHP5中的变化,以前的版本中,构造函数的名称必须与类名相同,这种在PHP5中仍然可以用,但现在以经很少有人用了,这样做的好处是可以使构造函数独立于类名,当类名发生改变时不需要改相应的构造函数名称了。为了向下兼容,如果一个类中没有名为__construct( )的方法,PHP将搜索一个php4中的写法,与类名相同名的构造方法。格式:function __construct ( [参数] ) { … … }在一个类中只能声明一个构造方法,而是只有在每次创建对象的时候都会去调用一次构造方法,不能主动的调用这个方法,所以通常用它执行一些有用的初始化任务。比如对成属性在创建对象的时候赋初值。
  1. //创建一个人类
  2. 0class Person
  3. 0{
  4. //下面是人的成员属性
  5. var $name; //人的名子
  6. var $sex; //人的性别
  7. var $age; //人的年龄
  8. //定义一个构造方法参数为姓名$name、性别$sex和年龄$age
  9. function __construct($name, $sex, $age)
  10. {
  11. //通过构造方法传进来的$name给成员属性$this->name赋初使值
  12. $this->name=$name;
  13. //通过构造方法传进来的$sex给成员属性$this->sex赋初使值
  14. $this->sex=$sex;
  15. //通过构造方法传进来的$age给成员属性$this->age赋初使值
  16. $this->age=$age;
  17. }
  18. //这个人的说话方法
  19. function say()
  20. {
  21. echo "我的名子叫:".$this->name." 性别:".$this->sex." 我的年龄是:".$this->age."br>";
  22. }
  23. }
  24. //通过构造方法创建3个对象$p1、p2、$p3,分别传入三个不同的实参为姓名、性别和年龄
  25. $p1=new Person("张三","男", 20);
  26. $p2=new Person("李四","女", 30);
  27. $p3=new Person("王五","男", 40);
  28. //下面访问$p1对象中的说话方法
  29. $p1->say();
  30. //下面访问$p2对象中的说话方法
  31. $p2->say();
  32. //下面访问$p3对象中的说话方法
  33. $p3->say();



输出结果为:
我的名子叫:张三性别:男我的年龄是:20
我的名子叫:李四性别:女我的年龄是:30
我的名子叫:王五性别:男我的年龄是:40


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446532.htmlTechArticlePHP经过长时间的发展,很多用户都很了解PHP了,这里我发表一下个人理解,和大家讨论讨论。大多数类都有一种称为构造函数的特殊方法。...
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。