探讨方法的重写(覆载)详解

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

<?php
 class Cart{
  public function Cart(){
   echo "正在调用Cart()<br />";
  }
  public function doSomething(){
   echo "正在调用doSomethimg()<br />";
  }
 }
 class Named_Cart extends Cart{
  function Named_Cart(){
   echo "正在调用Named_Cart()<br />";
  }
  function doSomething(){
   echo "正在调用Named_Cart::doSomething()<br />";
  }
 }
$myCart=new Cart();
$myCart->doSomething();
$myNamed_Cart=new Named_Cart();
$myNamed_Cart->doSomething();
?>

在方法覆盖时,务必要使用与原始方法相同的约定,包括参数要一致。属性覆盖也遵循相同的约定。
在覆盖基类的方法后,使用parent关键字仍然可以调用基类的doSomething()方法,而非当前类中的doSomething()方法。

相关文章

PHP程序中的文件锁、互斥锁、读写锁使用技巧解析

文件锁 全名叫 advisory file lock, 书中有提及。 这类锁比较常见,例如 mysql, php-fpm 启动之后都会有一个pid文件记录了进程id,这个文件就是文件锁。...

web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验

安全过滤后的getIP函数 复制代码 代码如下:  function getIP() { $realip = ''; //设置默认值 if (isset($...

PHP Yii清理缓存的实现方法

PHP  Yii清理缓存的实现方法 本文实例讲述了Yii清理缓存的方法。分享给大家供大家参考,具体如下: html: <button onclick="clearCach...

PHP面向对象类型约束用法分析

本文实例讲述了PHP面向对象类型约束。分享给大家供大家参考,具体如下: 什么是类型约束 就是要求某个变量只能使用(接受,存储)某种指定的数据类型;php属于”弱类型语言“,通常不支持类型...

PHP常用的缓存技术汇总

一、数据缓存 这里所说的数据缓存是指数据库查询缓存,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件中,以后同样的...