关于PHP构造函数使用方法揭秘
创始人
2024-06-11 20:11:32
0

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

#T#PHP构造函数的声明与其它操作的声明一样,只是其名称必须是__construct( )。这是PHP5中的变化,以前的版本中,构造函数的名称必须与类名相同,这种在PHP5中仍然可以用,但现在以经很少有人用了,这样做的好处是可以使构造函数独立于类名,当类名发生改变时不需要改相应的构造函数名称了。为了向下兼容,如果一个类中没有名为__construct( )的方法,PHP将搜索一个php4中的写法,与类名相同名的构造方法。格式:function __construct ( [参数] ) { … … }在一个类中只能声明一个构造方法,而是只有在每次创建对象的时候都会去调用一次构造方法,不能主动的调用这个方法,所以通常用它执行一些有用的初始化任务。比如对成属性在创建对象的时候赋初值。

  1. //创建一个人类  
  2.  
  3. 0class Person   
  4. 0{   
  5. //下面是人的成员属性   
  6. var $name;       //人的名子   
  7. var $sex;        //人的性别   
  8. var $age;        //人的年龄   
  9. //定义一个构造方法参数为姓名$name、性别$sex和年龄$age   
  10. function __construct($name, $sex, $age)   
  11. {   
  12. //通过构造方法传进来的$name给成员属性$this->name赋初使值   
  13. $this->name=$name;   
  14. //通过构造方法传进来的$sex给成员属性$this->sex赋初使值   
  15. $this->sex=$sex;   
  16. //通过构造方法传进来的$age给成员属性$this->age赋初使值   
  17. $this->age=$age;   
  18. }   
  19. //这个人的说话方法   
  20. function say()   
  21. {  
  22. echo "我的名子叫:".$this->name." 性别:".$this->sex." 我的年龄是:".$this->age."
    ";   
  23. }   
  24. }   
  25. //通过构造方法创建3个对象$p1、p2、$p3,分别传入三个不同的实参为姓名、性别和年龄  
  26. $p1=new Person("张三","男", 20);   
  27. $p2=new Person("李四","女", 30);   
  28. $p3=new Person("王五","男", 40);   
  29. //下面访问$p1对象中的说话方法   
  30. $p1->say();   
  31. //下面访问$p2对象中的说话方法   
  32. $p2->say();   
  33. //下面访问$p3对象中的说话方法   
  34. $p3->say();   


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

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...