PHP5面向對象的一些問題反映
作者:only_java
PHP5面向對象在實際應用中仍然會有些問題難以理解,比如構造函數的執行問題,PHP到底是依據什么執行的,還有一些莫名其妙的報錯原因。
大家也許對PHP5面向對象已經不再陌生,雖然對一些問題的反映雖然加強了很多,但還有很多東西比起java的面向對象弱了很多。有些東西甚至讓人費解,就比如下面的PHP5面向對象代碼,b extends a ,實例化b時a的構造函數卻沒執行?不知道實例化b時,PHP到底是怎么執行的,高手來幫忙解惑!還有PHP的static成員竟然能在非static方法中使用,還好反過來會報錯。
#t#好了,先將代碼貼出來
- class a {
- function __construct() {
- echo "a";
- }
- }
- class b extends a{
- function __construct(){
- echo "b";
- }
- private $x=100;
- public static function getx(){
- return $this->x;
- }
- }
- $x=new b();
- echo $x->getx();
結果是:
b100
“a”竟然沒有輸出,真不知到PHP5面向對象里類初始化的順序。
責任編輯:曹凱
來源:
javaeye社區