A、类的组成部分 关键字: class
class Person{
//构造
public function __construct(){
$this->user_name='小白';
$this->age=25;
}
//成员方法
public function getUserInfo($user_id){
retrun $userInfo;
}
public function __destruct(){
echo '我要销毁这个类';
}
}
B、继承类 关键字:extends
class Child extends Person{
// 代码部分
}
1、继承类 的成员 方法是可以重写 重写的方式是在继承类写一个和 被继承类一样的成员方法
C、接口 关键字: interface
interface Animal{
public function setAnimalInfo($param);
public function getAnimalInfo($id);
}
接口只是定义 需要实现接口的方法
实现接口:
class Dog implements Animal{
public function setAnimalInfo($param) {
$this->param = $param;
}
public function getAnimalInfo($id) {
return $AnimalInfo;
}
}
D、常量 关键字: const
E、静态 关键字:Static
F、关键字 : Final 无法覆盖, 无法继承
G、抽象类 关键字:abstract
抽象的类不能被实例化,被定义为抽象的方法只是声明了其调用方式,不能定义其具体的功能实现;
继承一个抽象类的时候,子类必须定义父类中的所有抽象方法;
另外,这些方法的访问控制必须和父类中一样(或者更为宽松)。
例如某个抽象方法被声明为受保护的,那么子类中实现的方法就应该声明为受保护的或者公有的,而不能定义为私有的。
此外方法的调用方式必须匹配,即类型和所需参数数量必须一致。例如,子类定义了一个可选参数,而父类抽象方法的声明里没有,则两者的声明并无冲突
abstract class Animal{
// 强制要求子类定义这些方法
abstract protected function getAnimalInfo($id);
// 普通方法(非抽象方法)
public function setAnimalInfo($param) {
return $this->setValue() = $param;
}
}