PHP静态方法和非静态方法的使用场景

思考案例

静态成员

类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态方法不能访问非静态的成员.因为静态成员存在于内存,所以非静态方法可以直接访问类中静态的成员.

非成静态员

所有没有加Static的成员都是非静态成员,当类被实例化之后,可以通过实例化的类名进行访问..非静态成员的生存期决定于该对象的生存期..而静态成员则不存在生存期的概念,因为静态成员始终驻留在内容中.

class user {
    private static $count = 0;
    public function __construct() {
        self::$count = self::$count + 1;
    }
    public function getCount() {
        return self::$count;
    }
    public function __destruct() {
        self::$count = self::$count - 1;
    }
}
$user1 = new user();
$user2 = new user();
$user3 = new user();
echo $user1->getCount();
echo "";
unset($user3);
echo $user1->getCount();
相关文章
  1. $_GET,$_POST与urldecode的使用风险
  2. yii2框架的错误处理
  3. Yii2过滤器-behaviors()行为调用
  4. 密码保护:PHP多进程编程
  5. 全排列算法原理和实现
  6. uuid生成方案
本站版权
1、本站所有主题由该文章作者发表,该文章作者与尘埃享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和尘埃的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:
二维码
Posted in php, 编程语言
Comments are closed.