php->abstract类和方法

<?php
/* 
使用abstract修饰的法,称为抽象类或者抽象方法。抽象类不能被直接实例化,只能作为其他类的父类来使用。抽象方法只是声明了其调用方式(参数),不能
定义其具体的功能实现。子类可以继承它并通过实现其中的抽象方法,来使抽象类具体化
任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么该类就必须被声明为抽象的。抽象类可以像普通类那样去声明,但必须以分号而不是方法体结束。
抽象方法只有方法的声明部分,没有方法体。继承一个抽象类的时候,父类中的所有抽象方法在子类中必须被重写;另外,这些方法的访问控制必须和父类中一样(或者更为宽松)。例如某个抽象方法被声明为受保护的,那么子类中实现的方法就应该声明为受保护的或者公有的,而不能定义为私有的。此外方法的调用方式必须匹配,即类型和所需参数数量必须一致。
*/
abstract class Test //定义了抽象类
{
    abstract protected function getValue();//定义了抽象类
    abstract protected function prin($P);//定义了抽象类
    //普通方法(非抽象方法)
    public function printOut(){
        print $this->getValue();
    }
}
class Test1 extends Test{//定义子类,继承抽象类
    protected function getValue(){//重写方法
        return "重写抽象方法1!<br>";
    }
    public function prin($p){
       return "{$p}重写抽象方法2!"; 

    }
}

$class1=new Test1;//实例化子类
$class1->printOut();//调用方法
echo $class1->prin('FOO_');//调用方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

酒菡

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

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

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

打赏作者

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

抵扣说明:

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

余额充值