PHP物件導向程式設計–概述

來源:互聯網
上載者:User

一、類

1.類的定義class classname{    class definition;}更具體的有:class classname
[ extends baseclass
]
{
[ var $property
[ = value
]; ... ]
[ function functionname
( args
) {
// code
}
...
]
}

 

2.建立類的一個對象$object = new classname;3.調用類的屬性和方法$object->properties;$object->method(arg1,.....);也可以通過屬性來訪問特定的屬性名稱:$prop = 'name';echo $object->$prop;靜態方法和屬性要通過::運算子來調用classname::nameclassname::method();4.類的方法定義以__(兩條底線)開始的方法名被特殊的一類函數,故一般不定義這樣的函數。在類的方法中使用$this來表示這個類的對象指標。靜態方法並不需要以static來開始,只要是沒有使用$this指標的類方法均認為是靜態。5.類的屬性定義在PHP的類定義中,我們並不需要特別聲明一個類的初始化屬性,同PHP中變數的使用一樣,一個類的屬性可以通過$this->來即時地添加。6.類的繼承類可以通過extends來繼承其父類的模板。

7.類的內省
檢查一個類是否被定義:
$yes_no = class_exists(classname
);

$classes = get_declared_classes( );

獲得類定義的屬性和方法
$methods = get_class_methods(classname
);

$properties = get_class_vars(classname
);

獲得父類名:
$superclass = get_parent_class(classname
);

8.對象的內省
檢查變數是否是一個對象或者獲得其類名
$yes_no = is_object(var
);

$classname = get_class(object
);

判斷一個對象是否具有某種方法
$yes_no = method_exists(object
, method
);

獲得對象對應的類的方法和屬性
$array = get_object_vars(object
);

8.序列化
序列化意味著我們可以將對象轉化成一個字元序列,從而存貯到一個檔案中去。
$encoded = serialize(something
);

$something = unserialize(encoded
);

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.