php第五节课
2016-04-26 15:13
387 查看
[b]封装[/b]
<!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
{
private $name;
private $sex;
private $age;
function __construct()
{
$this->sex = $s;
}
public function Say()
{
echo "hello";
}
function __destruct() //析构函数,对象销毁前执行
{
echo "该对象销毁了";
}
function SetAge($a) //给age赋值的函数
{
if($a>10 && $a<50)
{
$this->age = $a;
}
}
function GetAge() //取age的值
{
return $this->age;
}
function __set($name,$value) //对类里面的私有成员进行赋值的魔术方法
{
if($name == "age" && $value>20 && $value<50)
{
$this->name = $value;
}
else
{
$this->$name = $value;
}
function __get() //对类里面的私有成员进行取值的魔术方法
{
return $this->$name;
}
}
};
$r = new Ren("男");
$r->name = "张三";
$r->age = 100;
$r->Say();
$r->SetAge(10);
$r->Say();
echo $r->sex;
$r->__set("name","张三");
$r->name = "李四"; //执行该语句会自动调用__set方法
$r->sex = "女";
//echo $r->GetAge();
var_dump($r);
//面向对象三大特性
//封装
//目的:让类更加安全,不让外界直接访问类里面的成员变量
//做法:1.把成员变量做成私有的
//2.做一个方法来实现取值或赋值,在方法里面加限制条件
//使用类里面提供的魔术方法也可以实现对私有成员的操作
//__set()特点:会自动执行,把赋值语句中的变量名作为第一参数,把变量值作为第二参数调用__set方法
//__get()特点:会自动执行,把取值语句中的变量名作为参数调用__get方法
?>
</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
{
private $name;
private $sex;
private $age;
function __construct()
{
$this->sex = $s;
}
public function Say()
{
echo "hello";
}
function __destruct() //析构函数,对象销毁前执行
{
echo "该对象销毁了";
}
function SetAge($a) //给age赋值的函数
{
if($a>10 && $a<50)
{
$this->age = $a;
}
}
function GetAge() //取age的值
{
return $this->age;
}
function __set($name,$value) //对类里面的私有成员进行赋值的魔术方法
{
if($name == "age" && $value>20 && $value<50)
{
$this->name = $value;
}
else
{
$this->$name = $value;
}
function __get() //对类里面的私有成员进行取值的魔术方法
{
return $this->$name;
}
}
};
$r = new Ren("男");
$r->name = "张三";
$r->age = 100;
$r->Say();
$r->SetAge(10);
$r->Say();
echo $r->sex;
$r->__set("name","张三");
$r->name = "李四"; //执行该语句会自动调用__set方法
$r->sex = "女";
//echo $r->GetAge();
var_dump($r);
//面向对象三大特性
//封装
//目的:让类更加安全,不让外界直接访问类里面的成员变量
//做法:1.把成员变量做成私有的
//2.做一个方法来实现取值或赋值,在方法里面加限制条件
//使用类里面提供的魔术方法也可以实现对私有成员的操作
//__set()特点:会自动执行,把赋值语句中的变量名作为第一参数,把变量值作为第二参数调用__set方法
//__get()特点:会自动执行,把取值语句中的变量名作为参数调用__get方法
?>
</body>
</html>
相关文章推荐
- 使用PHP导入和导出CSV文件
- yii2使用 db log
- php小笔记 函数传值细节分析
- 在Windows上开发PHP扩展模块
- array_push.php
- array_unshift.php
- PHP开启opcache方法
- 在PHP调用JS中的方法,以此来解决浏览器兼容问题
- php杂记(二)
- 抛弃 PHP 代价太高
- PHP学习05----PHP数据类型
- php 枚举问题
- php第四节课
- PHP学习04----PHP代码标记风格
- 内容提供者ContentProvider的基本使用
- yii2 debug工具条不出现
- 48-PHP5.3的垃圾回收机制
- php大文件上传时,应该注意的问题
- 45-PHP的内存管理
- 44-Zend内存管理器