您好,登錄后才能下訂單哦!
PHP面向對象-抽象類和接口
抽象類:
一種特殊的類
類中有一個是抽象方法就是抽象類
關鍵字:abstract
抽象類中可以有不是抽象方法或抽象屬性,但訪問權限不是是私有的
抽象類的作用:
使用抽象類就包含了繼承關系
為子類定義了公共接口
為子類提供了規范和約束
abstract class aa{}
抽象方法:
沒有方法體(聲明時沒有花括號和內容),直接分好結束;
Abstract關鍵字修飾
abstract function aa();
注意:
抽象類不能被實例化,只能被繼承
abstract class aa{ //定義抽象類 只能被繼承不能被實例化
abstract function aa(); //抽象方法抽象類中的成員方法使用時必須被重載
abstract function bb();
}
class bb extends aa{ //繼承抽象類
function aa(){ //實現方法
echo ‘aaaaaaaaaaaaaaaaaaa’;
}
function bb(){}
}
$a=new bb;
$a->aa();
接口:
特殊的抽象類,抽象類的方法都是抽象的
必須為公共的public
常量
抽象方法不需要前面加abstract關鍵字修飾,接口中的方法都是抽象方法
關鍵字:interface
class類實現接口關鍵字:implements
如實現多個接口,可用,(逗號)分割
例:
interface aa{ //聲明一個接口
function insert(); //接口內定義的成員方法 無需前面加abstract修飾
}
interface bb{ //定義第二個接口
function select();
}
interfacecc extends bb{ //接口繼承
function update(); //繼承后的接口可在重新添加新的成員方法
}
class dd implements aa,cc{ //類實現接口 多接口用,(逗號隔開)
function insert(){} //成員方法定義接口內的所有成員方法都必須定義,否則報致命性錯誤 function update(){}
function delete(){}
}
$a= new dd; //實例化對象
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。