首頁  >  文章  >  後端開發  >  php物件導向之靜態方法、屬性與常數

php物件導向之靜態方法、屬性與常數

不言
不言原創
2018-06-06 09:53:551863瀏覽

這篇文章主要介紹了關於php物件導向之靜態方法、屬性和常數,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

靜態方法、屬性

定義

使用static關鍵字定義;

聲明類別屬性或方法為靜態,即可以不實例化,直接存取

注意:

1)靜態屬性,不可以透過實例化物件存取;

2)靜態方法,可以;

3)靜態方法,不可以使用$this

使用方法

 :: 或  self::

具體如下所示:

  访问位置           调用属性           调用方法

类的内部/外部       类名::属性名      类名::方法名

   内部           self::属性名      self/类名::方法名

綜合範例

<?php

class MyClass
{
    // 静态属性
    public static $a = &#39;static&#39;;

    // 静态方法
    public static function func1()
    {
        echo &#39;静态方法&#39;;

        // 类的内部调用静态属性
        echo MyClass::$a;
        echo self::$a;

        // 类的内部调用静态方法
        MyClass::func2();
        self::func2();
    }

    // 试验静态方法调用另一个静态方法
    public static function func2()
    {
        echo &#39;This is static function 2.&#39;;
    }
}

// 类的外部调用静态属性、方法
echo MyClass::$a;
MyClass::func1();

// 实例化后再调用
$me = new MyClass();

echo $me::$a;   // 调用成功
// echo $me ->a;   调用失败
$me -> func1();  // 调用成功

常數


##const可以把類別中始終不變的值,定義為常數。

常數的值,必須是一個定值。

呼叫方法,同static。

範例###
class MyClass
{
    public static $a = &#39;abc&#39;;
    const NUM = 123;
}

echo MyClass::$a;
echo &#39;<br/>&#39;;
echo MyClass::NUM;
echo &#39;<br/>&#39;;

// 修改静态属性
MyClass::$a = &#39;def&#39;;
echo MyClass::$a;
echo &#39;<br/>&#39;;

// 修改常量
//MyClass::NUM = 234;  赋值失败
###相關推薦:#########php物件導向建構函式與析構函式############## #php物件導向之封裝###############php物件導向之類與實例化物件###       ####

以上是php物件導向之靜態方法、屬性與常數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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