php學習筆記--初識類1

 1--類的作用是:降低程序耦合性,增加程序的可擴展性。減少維護成本。

2--一個類一般有他的屬性和方法組成
   class person{
   protect $name;
   protect $sex;
   public function chamame()
    {echo ‘你好’;  }
}
3--當要使用一個類的時候,必須使用關鍵字new來實例化。 
   $xiao= new person();
   $xiao->chamame();//輸出你好
4--一個類可以有一個構造函數和一個析構函數。這有別於c++。php不支持重寫
   1-構造函數是什麼?有什麼用?
     當我們new一個類的時候,系統會自動調用他的構造函數,用於初始化。構造函數可以有參數也可以沒有。默認情況 下系統的構造函數是沒有寫內容的。
        class person{
   protect $name;
   protect $sex;
   public function __construct($name,$sex)
    { $this->name=$name;
 $this->sex=$sex;  
     }
     }
2-析構函數是什麼?有什麼用?
析構函數是在銷燬這個類,或者這個類沒有引用(系統垃圾回收會回收他)自動調用。用來釋放某些資源的。析構函數是不能傳遞參數的。
析構函數一般情況下是按先被系統註銷的實例,最後調用析構函數(先入後出)的方式銷燬的。
       class person{
   protect name;
   protect sex;
   public function __destruct()
    { echo '類快要釋放了';}
5--靜態變量和靜態方法
    1- 靜態變量存儲在系統的靜態區裏面。這個類的所有實例都可以訪問他。在類裏面是通過self::和類名::來訪問他們,在類外只能通過類名::來訪問
2- 靜態方法只能調用靜態變量,無法通過$this來調用其他的變量。靜態方法在類內可以通過self::和類名::來訪問他們,在類外可以通過$a->和類名::來訪問他們
<?php
      class person{
   public $name;
   public static $countperson;
   public function __construct()
   {
   echo self::$countperson+=1;
   }
   public static function count()
   {
    $a='------';
echo $a;
   echo self::$countperson;
   }
   }
   person::$countperson=0;  //這個是在靜態區裏面
   $a=new person(); //$a是存儲在載裏面的
   $b= new person();
   $a->name='lengai'; $b->name='lengai2';//輸出分別是lengai和lengai2.他們是各自存儲在不同的堆裏面.
   echo $a->name;
     $a->count();   //  echo person::count();這個也是存儲在靜態區。其他類函數都是存儲在堆區裏面,普通函數是在載裏面
?>
6--$this.表示指向當前對象(類似指針,指向當前對象在堆裏面的地址)。在類內部是無法直接調用變量的。必須通過$this來調用。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章