![](/img/trans.png)
[英]PHP - if all methods in abstract class are abstract then what is the difference between interface and abstract class
[英]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.