您好,登錄后才能下訂單哦!
一、抽象類
1、只要包含抽象方法的類就是抽象類
2、抽象類必須加abstract 修飾
3、抽象類不能直接實例化
4、抽象類必須被繼承才能使用,而且還要完成里面的所有抽象方法
5、如果有任何一個抽象方法沒有被實現 那么這個類也必須是抽象類
abstract class A{
abstract public function say();
}
abstract class B extends A{
public function say(){
}
}
class C extends B{
public function say(){}
}
二、抽象方法
1、沒有方法體的方法
2、必須使用abstract來修飾
abstract class Animal{
abstract public function show();
}
3、抽象方法需要被重寫
4、重寫了所有抽象方法的類才算是一個完整的類,可以被實例化
三、抽象類和抽象方法的作用
就是在企業中制定規范的作用
四、接口 作用:指定規范
1、定義格式
interface 接口名{
[常量]
[抽象方法]
}
2、特性:
在接口里面所有方法都是抽象方法 不需要特殊修飾
接口與接口之間 是繼承關系
類與接口之間是實現關系
實現接口可以多實現 中間用逗號隔開
類在繼承其他類的時候 可以實現接口(多實現)繼承一定要寫在實現的前面
//定義一個USB接口
interface USB{
//在接口里 所有的方法都是抽象方法 不需要額外修飾 不能使用普通方法
public function run();
}
//接口與接口之間是繼承關系
interface ps2 extends USB{
public function move();
}
interface typeC{
public function xxx();
}
class A{}
//類與接口之間是實現關系
//實現接口可以多實現 中間用逗號隔開
//類在繼承其他類的同時可以實現接口(多實現)繼承一定要在實現的前面
class Mouse extends A implements ps2,typeC{
public function run(){}
public function move(){}
public function xxx(){}
}
3、作用:制定規范使用
4、與抽象類的差異
單純的用于制定規范 接口兩種都可以
在制定規范的時候要共享一些方法 只能使用抽象類
五、多態
多態:不同的對象做相同的事情得到不同的結果
class MeiZi{
public function meet($obj){
$obj->ber();
}
}
//制定規范
abstract class Hanzi{
abstract public function ber();
}
class DDS extends Hanzi{
public function ber(){
echo'滾';
}
}
class GFS extends Hanzi{
public function ber(){
echo'不滾';
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。