溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

抽象類和接口

發(fā)布時間:2020-08-30 22:02:07 來源:網絡 閱讀:425 作者:方花 欄目:web開發(fā)

一、抽象類

  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、重寫了所有抽象方法的類才算是一個完整的類,可以被實例化

三、抽象類和抽象方法的作用

 就是在企業(yè)中制定規(guī)范的作用

四、接口  作用:指定規(guī)范

  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、作用:制定規(guī)范使用

  4、與抽象類的差異

    單純的用于制定規(guī)范 接口兩種都可以

    在制定規(guī)范的時候要共享一些方法 只能使用抽象類

五、多態(tài)

    多態(tài):不同的對象做相同的事情得到不同的結果

    

        class MeiZi{

           public function meet($obj){

      $obj->ber();

}

}

//制定規(guī)范

abstract class Hanzi{

abstract public function ber();

}

class DDS extends Hanzi{

public function ber(){

echo'滾';

}

}

class GFS extends Hanzi{

public function ber(){

echo'不滾';

}

}


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI