面向对象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

原文地址:https://www.cnblogs.com/lxl7806265/p/8509864.html