有點困惑 在類裡面什麼情況上要用 static 呢

來源:互聯網
上載者:User
有點困惑 在類裡面什麼情況下要用 static 呢


class cls{

public static function print_str(){

echo 'OK';

}


}
cls::print_str();

?>




通過 static定義的類方法,資料上說是靜態方法;不需要執行個體類就可以直接使用。

那在什麼情況下要用 static 來定義類方法呢, 是以方便調用為原則嗎 ?


如果類裡面只有一個方法,那將它定義為靜態或非靜態;在使用效率上有無區別的呢。

應該是比較簡單的問題,只是基礎沒打好就要請教阿。先謝謝啦。 class 靜態


------解決方案--------------------
靜態方法是範圍受限的函數,也就是說使用時要冠以宿主名
如果僅當做函數使用,我看不出有什麼優勢

如果是用於單例模式對象串連,那麼還是比較方便的
不需要把對象傳來傳去
------解決方案--------------------
引用:
靜態方法是範圍受限的函數,也就是說使用時要冠以宿主名
如果僅當做函數使用,我看不出有什麼優勢

如果是用於單例模式對象串連,那麼還是比較方便的
不需要把對象傳來傳去


比起非靜態方法,它不需要執行個體化整個class。對效能消耗要小一些。與全域函數相比,它可以使用class的特性。繼承,封裝之類的特性。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.