php 类的析构方法,PHP面向对象之析构方法,以及关键字static

1析构方法会自动调用

2析构方法主要用于销毁资源

3析构方法调用顺序是先创建的对象后销毁

析构方法在什么时候调用:

①当程序(进程)结束退出时

②当一个对象成为了垃圾对象的时候,该改对象的析构方法也会被调用

③所谓的垃圾对象是指一个对象已经脱离了应用。

④一旦成为了垃圾对象,该对象所占有的资源就会立马被回收。

类的析构方法:

①php5加入析构方法:function __destruct()

②析构方法没有返回值

③主要作用是为了释放资源,并不是销毁对象本身

④销毁对象钱,系统会自动调用析构方法(销毁对象发生在调用析构函数之前,由系统自己去执行销毁)

⑤一个类最多只有一个析构方法。

全局变量的定义和赋值要分开

静态变量定义方法:public static $dfd;

$dfd="";

访问静态变量的基本方式:①在类外部      类名::$静态变量名

②在类北部      类名::$静态变量名   或者  类名::$静态变量名

静态变量并不依赖于对象的创建与否。

在实际编程过程中,我们往往需要使用静态方法去操作静态变量,但是不能操作非静态属性

静态方法的特点

1 静态方法去操作静态变量

2静态方法不能操作非静态变量

注意事项:普通的成员方法既可以操作静态变量,也可以操作非静态变量

成员方法里面可以调用其他成员方法 但是需要使用$this来引用。

final关键字

1.      如果我们希望某个类不被其它的类来继承(可能因为安全考虑...), 可以使用final

final class A{

}

class B extends A{

}

echo "ok";

?>

2.      如果我们希望某个方法,比如计算个人所得税的方法,不能子类改写,可以使用fianl 来修饰方法

class A{

final public function getRate($salary){

return $salary*0.08;

}

}

class B extends A{

//不能去覆盖父类的getRate方法.

/*public function getRate($sal){

return $sal*0.01;

}*/

}

$b=new B();

echo $b->getRate(100);

3.      final关键字不能去修饰属性.const 关键字的讲解

//当你有一个属性,不希望被修改,则考虑使用const 做成常量

基本用法是

class A{

const 常量名=赋初值;

}

interface 接口名{

const 常量名=赋初值;

}

常量是public

使用 类名::常量名; 接口名::常量

class A{

//常量在定义的时候,必须给初值.

//const 关键字前面不要带修饰符号.

const TAX_RATE=0.08;

public function payTax($val){

//常量不能修改.

//A::TAX_RATE=0.01;

//return $val*self::TAX_RATE; 【ok】

return $val*A::TAX_RATE; //【ok】

}

}

$a=new A();

echo $a->payTax(200);

?>

1.      常量在定义的时候需要赋初值

2.      常量不能修改.

3.      常量名不能有 $, 一般是大写, 默认是public

4.      常量在类的内部使用 self::常量的名称 类名::常量的名称

在类的外部使用 类名::常量的名称.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值