php面向对象(二)
一般方法
定义方法:
class Person{
public $x = 1;
public $y = 1;
public $z = 3.14;
function getXiebian($a,$b){
$s1 = $a*$a+$b*$b;
$s2 = pow($s1,0.5); //0.5次方就是开方
return $s2;
}
}
使用方法:
$p1 = new Person();
$xie1 = $p1->getXiebian(3,4);
echo "<br />斜边=$xie1";
方法中$this关键字
这是一个伪函数,代表当前所属类的当前对象;
这个关键字不能再静态方法中使用
静态属性
在定义属性时,前边加上关键字:static,此时就是静态属性
如 : class C1{
static $v1 = 10 //这就是一个静态属性
}
静态属性值属于类的本身,也可以反做所有对象的“共有数据”;
如何使用静态属性:类名::$静态属性名
普通属性的使用 :对象名->普通属性名;
静态方法
在方法前加关键字:static 就变成了静态方法
静态方法同样属于类,而不是类的具体对象。
静态方法的使用:类名 ::静态方法名();
self:
代表当前类;通常只能在某个类的某个方法内部代表该类的名称
构造方法
这是类中是一个特殊的方法,作用是在实例化一个对象的同事给该对象的属性赋值,使其创建成功,具有了其本身的持有数据(属性值);
方法名的固定格式 :__construct();//注意,这里必须是两条下划线
析构方法 :析构方法是“销毁”对象的时候会自动调用。
通常是在销毁对象时,来清理数据
析构方法通常不需要去定义
析构方法不能调用
析构方法不能有形参
析构方法中可以用于清理一些在php代码结束后不能清理的数据,如生成的文件。