php第七节课

多态,重载,克隆

<!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>

 

原文地址:https://www.cnblogs.com/xiongxiaobai/p/5442816.html