程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 關於PHP構造函數使用方法揭秘

關於PHP構造函數使用方法揭秘

編輯:關於PHP編程

PHP經過長時間的發展,很多用戶都很了解PHP了,這裡我發表一下個人理解,和大家討論討論。大多數類都有一種稱為構造函數的特殊方法。當創建一個對象時,它將自動調用PHP構造函數,也就是使用new這個關鍵字來實例化對象的時候自動調用構造方法。

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


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved