PHP面向对象(4)

上面我们讲了类的基本使用,这次讲一下抽象类。

抽象类

我们每个人多多少少都会一项技能,比如张三会打篮球,李四会踢足球,那么我这个把这个技能的行为单独抽离出来,放到一个抽象类里,其他类实现这个类的时候,需要实现这个抽象的方法。例如:

abstract  class Skill{
    abstract  function doSkill();
}

class Zhangsan extends Skill{
    public function doSkill(){
        echo "我是张三,会打篮球".PHP_EOL;
    }
}
class Lisi extends Skill{
    public function doSkill(){
        echo "我是李四,会踢足球".PHP_EOL;
    }
}
$zhangSan = new Zhangsan();
$liSi = new Lisi();
$zhangSan->doSkill();
$liSi->doSkill();

以上会输出如下内容:

我是张三,会打篮球
我是李四,会踢足球

注:抽象类,就是把某些人能做的事情和拥有的共同的属性放到一个抽象类中,比如上面代码中的Skill类,并且抽象类的类名必须前面使用abstract修饰,且里面的方法必须至少一个使用abstract修饰;抽象类是不能被直接被实例化的,如果你new Skill()会报错;继承抽象类的类必须实现抽象类中的abstract方法,比如上方的Zhangsan类继承(extends)Skill类,所以,必须在类中实现doSkill这个抽象方法!

今天就先写到这里,大家把这个面向对象前面这些先消化一下,这些都是重点,明天我会继续更新,也是OOP中的重点中的重点,即OOP三大特征:封装,继承,多态 的讲解!最重要的是多态,这里在很多系统架构中都会用到,说难其实也不难!就是一个用法而已!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

踢球的打工仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值