PHP面向对象学习笔记二

上篇文章我记录了一下关于PHP封装的知识,这篇文章我就记录一下关于PHP继承的知识吧。

三、PHP中的继承

1、extends关键字

PHP中的继承和严格意义上面向对象语言,比如:C#,是大同小异的。PHP中类的继承需要使用extends这个关键字

<?php
class Child extends father{
    ...
}
?>

看,是不是很简单,这样child类就继承了father类,子类中就把父类中不是用private修饰的属性和方法继承过来,当然,我们还可以在子类中定义新的方法和属性,这样做更有利于我们对代码的重用。举一个关于继承的小例子,如下:

<?php
class father{
    public $fproperty = 1;
    public function __construct(){}
    public function fmethod(){
        each $this->fproperty.'<br/>';
    }
}
class child extends father{
    public $cproperty = 2;
    public function __construct(){}
    public function cmethod{
        each $this->cproperty.'<br/>';
    }
}
$fobj = new father();
$cobj = new child();
$fobj->fmethod();
$cobj->cmethod();
$cobj->fmethod();
?>

以上代码输出的结果为:

1 2 1

2、final关键字

<?php
final class father{
    ...
}
?>

father就不能被其他的类继承了。

<?php
class father {
    ...
    final public function fmethod(){}
}
?>

类中fmethod就不能被子类继承了。

4、多继承

PHP只支持单重继承,而不支持多重继承,也就是说下面这样的代码是错误的

<?php
class father1{
    ...
}
class father2{
    ...
}
class child extends father1,father2{
    ....
}
?>

要想实现多重继承,我们可以用另一种方法,就是继承多接口。

<?php
interface Ifather1{
    ...
}
interface Ifather2{
    ...
}
class child implements Ifather1,Ifather2{
    ...
}
?>

我们看到在类继承接口时使用的是implements这个关键字,这个地方需要大家注意一下,不用和类继承类弄混了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值