多态,重载,克隆
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<?php
class Ren
{
public $name;
public $sex;
function Say()
{
echo "hello";
}
function Ren()
{
}
function __tostring()
{
echo "这个对象包含变量name和sex,一个Say方法";
}
function __clone() //对象克隆的时候自动执行
{
$this->name="李四"; //$this指复本(克隆出来的新对象)
}
}
class China extends Ren
{
function Say()
{
echo "你好";
}
}
//多态
//概念:当父类引用指向子类实例的时候,由于子类对父类函数进行了重写,导致我们在使用该引用去调用相应的方法表现出的不同
//条件:1.必须有继承
//2.子类必须对父类的方法进行重写
$r = new Ren(); //$r代表Ren类的引用
$r1 = new china();//$r1代表china的引用
//Ren $r = new Ren();
//函数重载
//条件:1.函数名必须相同
//2.函数里面参数的个数不同
//如果个数相同,类型不同
//php是弱类型语言,所以没有重载
//php有可变参数的函数
//__tostring() 方法
//对象的克隆
$r = new Ren();
$r
$r1 = clone $r; //克隆对象
echo $r->name;
echo $r1->name;
var_dump($r);
?>
</body>
</html>