我知道如果我创建一个abstract
类,那么我就无法创建它的实例,它只是一个基本类(将其扩展到其他类) 。现在我想知道什么是abstract
函数? (或者还有abstract
属性?)
我在abstract
类中看到了一个没有定义的函数(函数也是抽象的),为什么呢?像这样:
Abstract class test{
Abstract function index();
}
答案 0 :(得分:2)
抽象函数是尚未实现的函数。抽象函数的实现必须在继承的类中完成。
具有抽象函数的类必须是抽象类。
抽象函数允许您在抽象类中编写算法而不定义所有子函数(声明为抽象),因为这些子函数可能依赖于具体继承类的上下文。
答案 1 :(得分:1)
无法实例化抽象类。假设你有:
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
}
}
答案 2 :(得分:0)
来自:http://php.net/manual/en/language.oop5.abstract.php
PHP 5引入了抽象类和方法。类定义为 可能没有实例化abstract,以及至少包含的任何类 一个抽象方法也必须是抽象的。方法定义为抽象 只需声明方法的签名 - 他们无法定义 实施