<?php
// 抽象类:特指较为空洞的类,一般用于定义基类
// 使用关键字 abstract
// 抽象类不允许被实例化
// 抽象类必须被继承
// 抽象方法:没有方法体的方法
// 必须存放抽象类中
// 抽象方法必须被重写
// 抽象类中可以有非抽象方法
// 拥有一个抽象方法的类,则该类必须为抽象类
abstract class Person
{
public $name;
public $age;
/**
* @return mixed
*/
public function getName()
{
return $this->name;
}
/**
* @param mixed $name
*/
public function setName($name)
{
$this->name = $name;
}
// 抽象方法
abstract public function say();
}
// 接口比抽象类榨的还干,因为接口中的所有方法都是抽象方法,而且接口中不允许定义属性
// 接口用来解决PHP面向对象编程中单一继承的问题
interface A{
// 接口中的方法不用再写abstract
function test1();
}
interface B{
function test2();
}
// 抽象类被继承
// 实现接口
class Chinese extends Person implements A,B{
// 抽象方法必须被重写
public function say(){
}
// 实现(重写)接口中的抽象方法
public function test1()
{
// TODO: Implement test() method.
}
public function test2()
{
// TODO: Implement test2() method.
}
}
$obj = new Chinese();
var_dump($obj);
抽象类与接口
最新推荐文章于 2025-03-31 14:22:51 发布
8418

被折叠的 条评论
为什么被折叠?



