面向对象1
类定义的形式:
class c1{
设置属性var name ='匿名';
var sex ='未知';
var age=‘18’;
设置方法(函数)
function 函数名(){
echo "<br />" . $this->name . "在执行函数(方法)f1";
}
设置类常量
const PI=3.14;
}
创造这个类的一个对象
var $sperson1 = new c1;
给属性赋值
$sperson1->name="张三";
$sperson2->age="12";
获取属性值
$str1=$sperson1->name;
echo "{$sperson1->name}的年龄是:".$sperson2->age;
$sprson1->f1();
可变类(名)
$CName = "C1";
$person3 = new $CName();
通过对象创建这个类的新对象$person4
$person4 = new $person3;
创建一个新的类
class P{
设置属性
var $v1 = 10;
}
创建这个类的一个新对象
$p1 = new P();
值传递
$p2 = $p1;
修改对象
$p1->v1 = 20;
输出p1、p2
echo "<br />p1->v1 为:" . $p1->v1;
echo "<br />p2->v1 为:" . $p2->v1;
值传递时是p1把对象标识符复制后传给p2,p2的对象标识符通过一个引用关系再对应一个值,所以p1=p2
创建了一个新对象
$p3 = new P();
引用传递
$p4 = &$p3;
输出p3p4
echo "<br />p3中的v1的值为:" . $p3->v1;
echo "<br />p4中的v1的值为:" . $p4->v1;
引用传递时是p3把对象标识符前的引用关系复制后传给p4,p4的对象标识符前的引用关系对应的是一样的对象标志符所以p3=p4