探讨方法的重写(覆载)详解
程序员文章站
2023-04-07 17:32:58
复制代码 代码如下:
<?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
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常用正则表达式的整理汇总