学斋随笔,初九潜龙勿用,-47关于一般方法静态构造方法与析构方法
一般方法使用是通过类或类的对象来进行,方法前可以加修饰词:public, protected,private,省略的话作为“public”。
其中,$this关键字是一个“伪对象”,代表的是当前所属类的当前对象。
静态
public、private、protected
静态属性
在属性或方法前加static关键字,即为静态属性
在实际工作中会有一个类的多个对象,可能会共享一份数据。
静态属性就是:只隶属于类本身——也可以看做是所有对象的“共有数据”。
静态属性的使用:
通过特殊的语法:::(双冒号语法,也叫范围解释符)
静态方法
方法前加static,即为静态方法
静态方法的访问
类外访问
语法:
静态方法,存在类空间。
类名::方法名();
类内访问:
语法:
self::方法名();
静态与非静态的区别:
静态属性保存在类空间,非静态属性保存在对象空间
静态属性的访问,通过类访问(::),非静态属性的访问通过对象(->)
静态方法的访问,通过类访问(::)
如果一个方法内部不操作属于对象空间的属性,那么将封装成静态方法,通过类来调用,此种方法效率会快很多
静态方法中不能出现$this
构造方法与析构方法
构造方式是类中的一个“特殊”方法,其作用是在实例化一个对象的同时,给该对象的属性赋值,使之一创建完成,就具有了其本身的特有数据(属性值)。
该方法名字是固定的,为:__construct();
该方法必须是普通方法(不能是静态方法)
通常该方法应该是public
通常该方法中使用$this这个关键字来对属性进行赋值
当new 类名()的时候,其实是在调用该构造方法
如果一个类中定义了构造方法,则实例化该类时就会调用该方法,且实例化时的参数需要跟构造方法的参数匹配
////////////////////////
构造方法是“创建”对象的时候会自动调用。
析构方法是“销毁”对象的时候会自动调用。
系统方法通常用于在销毁对象的时候来“清理数据”(打扫战场)——如果需要,就可以利用这个机会去处理。
通常,php程序结束后,所有对象都会自动销毁(其实属于php内部的垃圾回收机制)
析构方法通常不太需要去定义。
析构方法不能调用。
析构方法不能有形参。
析构方法中可以用于清理一些在php代码结束后不能清理的数据,如生成的文件。

浙公网安备 33010602011771号