<?php
//面向过程
/*$r=5;
$m=3.14*$r*$r;*/
//类和对象
//对象:任何东西都可以成为对象,类实例化出来的东西
//累:对所有同类的对象抽象出来的东西
//info:code,name,sex,nation,birthday
//对象:一条具体的信息 p001 张三 男 汉族 1990-2-3
//定义类
class ren
{
var $name; //成员变量
var $age;
var $height;
var $sex; //一般不要给成员变量赋值
private $age;
function __construct($s)//构造函数
{
$this->sex=$s;
}
function run() //成员函数(方法)
{
echo"这个人正在奔跑";
}
function say()
{
echo $this->name."正在说话";
$this->run();
}
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")
{
if($value>10&&$value<50)
{
$this->$name=$value;
}
}
else
{
$this->$name=$value;
}
}
function __get($name) //对类里面的私有成员进行取值的魔术方法
{
return $this->$name;
}
}
//使用类
//1.实例化对象
$r=new ren("男");
//给成员变量赋值(调用成员变量)
$r->name="张三";//给对象name赋值
//var_dump($r);
//3.调用成员方法
$r->run();//执行成员方法
//访问修饰符
//1.如果要加访问修饰符,需要去掉var
//2.三种:
// public公有的
// protected受保护的(只能在该类或者子类中使用)
// private私有的(只能在这个类里使用)
//3.如果不加访问修饰符,默认是public
//$this引用
//$this代表该对象(哪个对象调用),不是代表该类
//构造函数
//1.写法特殊:function __construct()
//2.执行特殊:在造对象的时候最先执行
//3.作用:对对象进行初始化操作
//析构函数
//对象销毁前执行,自动进行调用
?>