php面向对象详解3

4 篇文章 0 订阅
3 篇文章 0 订阅

这一节我们主要讲关键词extends重载.

继承是面向对象的一个核心,我们可以通过定义一个具有基本功能的父类,然后根据需求,在子类中添加新的功能并包含基类中具有的基本功能,我们这里会用到extends关键词(php使用的是单一继承,如a继承b,b又继承c,则c就是父类,b具备了a的所有功能,并可以添加自己功能,c拥有了b的所有功能,并且c也可以添加自己功能)

我们可以看一下这个例子

<?php
class root{
function RootSay(){
return "我是父类";
}
}


class son extends root{
function SonSay(){
return $this->RootSay()."我是子类";

?>

下面例子中输出结果是
我是父类
我是子类我是子类
我是父类我是子类我是第二个子类
从上面例子我们可以很清楚看到son继承了root的内容,son2继承son和root的内容

我们在回头看上面这个例子,三个类用了三个方法,那如果有100个类你要想100个方法名?这显然不现实.这时我们引入了方法重载这个概念,我们可以通过类名::方法名来调用不同方法.请看下面这段代码

<?php
class root{
function RootSay(){
return "我是父类";
}
}


class son extends root{
function RootSay(){
return root::Rootsay()."我是子类";
}
}


class son2 extends son{
function RootSay(){
return root::Rootsay().son::Rootsay()."我是第二个子类";//第一个root::Rootsay()输出结果是我是父类,第二个son::Rootsay()输出结果是我是父类我是子类
}
}


$p=new son2();
echo $p->RootSay();


?>

输出结果是:我是父类我是父类我是子类我是第二个子类

上面的注释已经解释了这段代码是如何执行的,这里就不再罗嗦.下一节我会来和大家讲一讲public,protected,private这三个关键词

转载请注明来自multifeeling


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值