PHP构造函数的用法分析_PHP教程
程序员文章站
2022-05-03 15:47:10
...
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
"; 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
上一篇: PHP5 OOP编程之代理与定制异常
下一篇: 拖拽排序的逻辑是怎么样的
推荐阅读
-
php通过array_merge()函数合并关联和非关联数组的方法_PHP教程
-
删除目录及其下的文件还有问题吗?送大家一个写好的函数_PHP教程
-
PHP中引述(变量和函数名前加&符号)的用法
-
函数的定义 浅谈PHP eval函数定义和用法
-
php中filter_input函数用法分析,phpfilter_input
-
百度工程师讲PHP函数的实现原理及性能分析(三)
-
PHP中类的继承和用法实例分析,php实例分析_PHP教程
-
PHP explode()函数的几个应用和implode()函数有什么区别,explodeimplode_PHP教程
-
PHP中isset与array_key_exists的区别实例分析_PHP教程
-
php下获取客户端ip地址的函数_PHP教程