三大特性 之二 繼承性:
1.概念:如果一個類有子類,那么該子類會繼承父類的一切東西,但私有成員訪問不到。
2.在定義子類時需要加關鍵字:extends
class Text extends Info
{
}
3.特點:單繼承。一個類只能有一個父類(類似於一個兒子只能有一個父親),一個父類可以有多個子類(父親可以有多個兒子)
4.如果父類中有構造函數,子類在實例化的時候要按照父類構造函數的標准來實現
class Info
{
public $code;
public $name;
public $sex;
function __construct($s)
{
$this->sex=$s;
}
}
class Text etends Info
{
}
$t=new Text();
$t->$code="p001";
5.子類與父類中有相同的方法(function),在子類中可以直接寫相同的方法,叫做子類的重寫。父類中的方法會被覆蓋,只顯示子類中的
若也想保存父類的方法不被覆蓋,可加關鍵字"parent::",parent只能在子類中使用。
6.final 關鍵字:用來修飾類,代表該類是最終類。最終類不能被繼承。
static 靜態成員:
1.類里面的普通成員是屬於對象的,不是屬於類的,在調用時是用對象來調用。
什么叫靜態成員,靜態成員是屬於類的,不是屬於每個對象的
2.定義靜態成員用關鍵字static修飾 :public static $class
3.訪問靜態成員用雙冒號:Info::$class="0305";
4.定義靜態方法:static function Text()
{
}
調用靜態方法: Info::Text();
5.靜態方法里無法調用普通成員,可使用self調用靜態成員。self代表該類,$this代表該對象。
static function Text()
{
echo self::$class;
}
6.普通方法里可以調用靜態成員
function Say()
{
echo self::$class;
}
定義常量:const
class Info
{
const π=3.1415926;
}
將類里面經常用到的東西定義為常量,方便使用,只在類里面使用。