首頁  >  文章  >  後端開發  >  php中關於構造函數使用詳解

php中關於構造函數使用詳解

黄舟
黄舟原創
2017-07-02 09:37:451782瀏覽

PHP建構子的用法分析

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."<br>";  
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

以上是php中關於構造函數使用詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn