php第七节课
2016-04-28 15:22
645 查看
多态,重载,克隆
<!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>
<!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>
相关文章推荐
- ThinkPHP 3.1.2 控制器的模块和操作
- LyaoutParameters作用
- 使用PHPMailer发送邮件
- ThinkPHP 3.1.2 控制器的模块和操作
- ThinkPHP 3.1.2 控制器的模块和操作
- thinkphp放到正式环境出现错误
- php json的使用
- PHP中列出目录中的目录和文件的几种方法
- Php Cookie,Session设置
- laravel 在windows 下的安装和配置
- php面向对象
- PHP装饰者模式
- php实现在站点里面添加邮件发送的功能
- php 创建相同元素一维数组与创建递增元素一维数组函数
- PHP7 (win10下)编译方法
- php输出excel表格乱码和第一个0不显示的解决方法(详细)
- php提交过来的数据生成为txt文件
- php生成txt文件实例代码介绍
- thinkphp 访问静态页面
- PHP导出数据到Excel文件