php抽象類

出現原因:父類不確定性


爲什麼設計抽象類這個技術?

1.在實際開發中,我們可能有這樣一種類,是其他類的父類,但是它本身並不需要實例化,主要用途用於讓子類來繼承,這樣達到代碼複用,同時利於項目設計者,設計類。

2.關鍵字abstract

3.基本用法

 abstract class 類名

  {//方法

   //屬性

   abstract  修飾符 function 函數名(參數列表);

   /*abstract  修飾符 function 函數名(參數列表)

  {

   echo " 這個寫法是錯的!";//因爲多寫了方法體

   }

 */

  }

 

abstract修飾一個類,這個類叫做抽象類;

abstract修飾一個方法,這個類叫做抽象方法【如果是抽象方法,不能有方法體】;

 

4.注意事項

a.抽象類可以沒有抽象方法,同時還可以有實現了的方法(完整的函數);

b.一旦一個方法聲明abstract方法,必須聲明類爲abstract類,即abstract類名對應abstract方法;

c.如果一個類繼承某個抽象類,則它必須繼承該抽象類的所有抽象方法,除非它爲抽象類;

 

 

 

案例1

<?php

 abstract class Animal //父類

 {

 public $name;

 protected $price;

 abstractpublic  function cry();

 //沒有方法體,這個方法主要爲了讓子類去實現

 

 }

 class Dog extends Animal //子類

 {

 public function cry()//子類繼承父類方法

 {

 echo "小狗汪汪叫!";

 

 

 }

 }

 

 $dog1=new Dog();

 $dog1->cry();//

?>

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章