簡體   English   中英

抽象類和抽象函數有什么區別

[英]what is difference between abstract class and abstract function

我知道,如果我創建一個abstract類,則無法創建它的實例,而它只是一個基本類(將其擴展到其他類) 現在我想知道什么是abstract函數? (或者還有abstract屬性嗎?)

我在abstract類中看到了一個沒有定義的函數(該函數也是抽象的) ,那為什么呢? 像這樣:

Abstract class test{
      Abstract function index();
}

抽象功能是尚未實現的功能。 抽象功能的實現必須在繼承的類中完成。

具有抽象功能的類必須是抽象類。

抽象函數允許您在抽象類中編寫算法,而無需定義所有子函數(聲明為抽象),因為這些子函數可能取決於具體繼承類的上下文。

抽象類無法實例化。 假設您有:

Abstract class People {

}

你不能做$people = new People();

您需要擴展它以便能夠實例化它,例如:

class Man extends People {

}

$people = new Man();

關於抽象方法,它們僅在抽象類中包含方法簽名,並且必須在子類中實現。

Abstract class People {
  abstract public function getAge();
}
class Man extends People {
  public function getAge() {
    //Blah Blah
  }
}

來自: http : //php.net/manual/zh/language.oop5.abstract.php

PHP 5引入了抽象類和方法。 定義為abstract的類可能無法實例化,並且至少包含一個抽象方法的任何類也必須是abstract。 定義為抽象的方法僅聲明方法的簽名-它們無法定義實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM