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

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文件后缀不强制为.php方法

PHP文件后缀不强制为.php方法

在大家学习PHP中,认为php文件的后缀一定为.php,其实不然,我们可以把它写成其他的后缀。这样也可以防止其他人的恶意攻击。 首先,我们先测试一下,PHP文件的后缀按传统的.php结尾...

php实现图片上传时添加文字和图片水印技巧

php实现图片上传时添加文字和图片水印技巧

本文实现的功能特别适用于一些商城和图片站中,分享了图片在上传时添加文字和图片水印的技巧,供大家参考,具体内容如下 1. water.class.php <?php h...

php实现的简单中文验证码功能示例

php实现的简单中文验证码功能示例

本文实例讲述了php实现的简单中文验证码功能。分享给大家供大家参考,具体如下: img.php <?php session_start(); /*for($i=0;$i...

php计算数组不为空元素个数的方法

复制代码 代码如下: <?php $arr = array( 1=>"11", 2=>"22", 3=>"33", 4=>"" ); print_r(cou...

数据库查询记录php 多行多列显示

复制代码 代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or...