解決名字衝突,增強可讀性
<?php
// 不能定義任何語句
namespace space1 ;
function fn() {};
}namespace space2;
function fn() {};
}namespace
?>
foo() 解析為當前namespace\foo()
namespace space;
subspace\foo(); 解析為 space\subspace\foo();
\space\subsoace\foo();解析為 \space\subsoace\foo
<?php
namespace space\subspace;
?>
<?php
namespace space;
const name = "mike";
class person
};function test()
$objname = "space\person";
$fnname = "space\\test";
$obj = new $objname();
$fnname();
echo constant('space\name');
?>
use space\subspace, my\sub as s
new subspace;// space\subspace
new s;// my\sub
訪問系統內部或不包含在命名空間中的類名稱時,必須使用完全限定名稱
function __construct($params...) {}
function __destruct() {}
class child extends parent {}
重寫必須 引數、返回值、許可權更嚴格(原方法public,過載方法必須為protected或priviate)
過載 引數 返回值 異常 訪問許可權(除了private不可被過載)可以不一致 【但是過載必須通過引數不同進行過載】
同都不可例項化
訪問許可權不能是私有
異介面不能寫任何實現** 抽象可以 屬性只能為產量
介面沒有建構函式、
抽象用於重用,介面用於多型
<?php
inte***ce action
inte***ce state
abstract class person
abstract public function showname();
}class american extends person implements action , state public function sayhello() public function ishealthy()
}$a = new american('mike');
$a->sayhello();
$a->ishealthy();
?>
PHP學習筆記 物件導向
類的結構 class classname var attribute 新增屬性 function operation 宣告函式 建構函式 construct 析構函式 destruct 使用類的屬性 在乙個類中,可以訪問乙個特殊的指標 this。eg this attribute。在類的外部直接訪問...
PHP物件導向學習筆記
學習基於 細說php 類宣告 class 類名 類成員屬性 class person 成員方法 class person 例項化物件 person new person 訪問 引用名 成員屬性 成員方法 非靜態 物件成員方法引用成員屬性用 this class person 構造方法與析構方法 構造...
PHP物件導向學習筆記二
上篇文章我記錄了一下關於php封裝的知識,這篇文章我就記錄一下關於php繼承的知識吧。php中的繼承和嚴格意義上物件導向語言,比如 c 是大同小異的。php中類的繼承需要使用extends這個關鍵字 class child extends father 看,是不是很簡單,這樣child類就繼承了fa...