php中继承和多态以及抽象的总结

继承的用法

继承的作用:摆脱代码的复杂性,可以多次重复利用代码。
继承的关键词:extends
继承的时候应该注意:父类中有构造方法,子类中没有构造方法,实例化的时候,就会调用父类的构造方法。

{
    public $wheel; //汽车轮子
    function __construct($wheel)
    {
        $this->wheel = $wheel;
    }
 
    public function run()
    {
        echo '能跑';
    }
 
    public function stop()
    {
        echo '能刹车';
    }
}
 
/**
 * 卡车类,继承了汽车类
 */
class Truck extends Car
{
    public $load; //载货量
}
 
/**
 * 公交车类,继承汽车类
 */
class Bus extends Car
{
    public $peples; //载客量
 
    public function say(){
        echo '报站';
    }
}
 
 
$t = new Truck(12);//传递参数
printf("卡车有%d个轮子",$t->wheel);
echo '<br>';
$b = new Bus(6);//传递参数
printf("公交车有%d个轮子",$t->wheel);

运行结果如下:
卡车有12个轮子
公交车有12个轮子``

抽象类的用法

抽象类和多态,二者之间有紧密的联系。
多态的定义:不同的对象对于同一行为表现出的不同形态,
抽象类的特点:1 没有方法体。
2 必须是抽象类
3不能实例化。没有自己的对象。
4抽象类都是父类
5子类继承抽象类后。必须实现父类的所有对象。
抽象类的一定要写抽象方法,抽象方法不一定是抽象类。

abstract class Animal
{
    //抽象方法
    abstract protected function eat();
}
 
//老虎,继承动物
class Tiger extends Animal
{
    //具体实现
    public function eat()
    {
        echo '老虎撕咬食物吃';
    }
}
 
//蛇,继承动物
class Snake extends Animal
{
    //具体实现
    public function eat()
    {
        echo '蛇直接吞咽食物吃';
    }
}
 
$t = new Tiger();
$t->eat();
echo '<br>';
$s = new Snake();
$s->eat();

多态-覆盖

覆盖的方法就是重写。
子类重写(覆盖)父类的方法时,访问修饰符的权限应该 符合这一原则:
子类方法的访问权限 高于或等于 父类方法的访问权限。
不能用private。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值