PHP面向对象编程(4.静态属性)

PHP面向对象编程(4.静态属性)

概念特性

在计算机编程领域指在程序执行前系统就为之静态分配(也即在运行时中不再改变分配情况)存储空间的一类变量。

静态变量只存在函数作用域中,也就是说,静态变量只存活在栈中。一般的函数内变量在函数结束之后被释放,例如局部变量,但是静态变量不会释放,函数结束之后,这个值会保留下来。

静态变量是该类的所有对象共享的变量,任何一个该类的对象访问它时,取到的都是相同的值;同理任何该类的对象去修改他时,修改的是同一个变量。

静态属性定义

1
2
3
以下两种方式等价:
1、访问修饰符 static 静态属性名;
2static 访问修饰符 静态属性名;

访问静态属性

类内访问

有两种访问方式:

1
2
3
1self::$静态变量名
2、类名::$静态变量名
其中 :: 表示范围解析符

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
header('Content-Type:text/html;charset=utf-8');
class Lx
{
public static $name = 'lx';

public function __construct() {}

public function showName() {
echo 'name: ' . self::$name;
}
}
$lx = new Lx();
$lx->showName();
// 结果:
// name: lx

类外访问

类外访问静态变量,静态变量需是 public ,否则无法直接访问;

访问形式为:类名::$变量名;

1
2
3
<?php
echo Lx::$name;
// 结果:lx

$this 和 self 区别

  • 1.使用方法不同(self::、$this->)
  • 2.self 是类范畴(指向类),$this 是对象实例(指向对象实例)

示例

1
2
<?php
header('Content-Type:text/html;charset=utf-8');
文章目录
  1. 1. PHP面向对象编程(4.静态属性)
    1. 1.1. 概念特性
    2. 1.2. 访问静态属性
      1. 1.2.1. 类内访问
      2. 1.2.2. 类外访问
    3. 1.3. $this 和 self 区别
      1. 1.3.1. 示例
本站总访问量 | 本页面被访问 | 您是第位小伙伴

© XueSi博客 版权所有 备案号 : 赣ICP备19008485号-1