博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类常量的定义和静态常量的定义和调用
阅读量:5035 次
发布时间:2019-06-12

本文共 1221 字,大约阅读时间需要 4 分钟。

<?php

//定义常量

define('MYNUM', 100);

if(!defined('MYNUM')){

define('MYNUM', 200);
}
//echo MYNUM;

class MyObject{

//定义类中的常量
const NUM = 10000;

//定义类中的静态变量

static $num = 100;

protected $name;

public function __construct($name)

{
$this->name = $name;
}

function desc(){

echo $this->name.'--';
// $this只能访问类中的变量和函数
// echo $this->NUM;
//在类的内部访问类中的常量只能使用self关键字
echo self::NUM.'--';
//在类的内部访问类中的静态变量只能使用self关键字
echo self::$num;

//非静态的函数可以直接调用静态函数方法

self::desc2();
}

static function desc2(){

// 伪变量 $this 在静态方法中不可用
// 因为调用静态函数方法不需要创建类的实例化对象
// $this->desc();

echo '====调用了类的静态函数方法====';

}

}

$test = new MyObject('李四');

$test->desc();
echo '<br><br>';
// 如果需要在类的外部来直接访问类中的常量,那么直接使用类名
echo '类的外部范围类中的常量:'.MyObject::NUM.'--'.MyObject::$num;
echo '<br><br>';
// 也可以使用该类的实例化的对象来访问类中的常量
echo $test::NUM;
// 从PHP5.3.0开始才能使用下面的访问方式
echo $test::$num;
echo '<br><br>';
$test::$num = 200;
echo '改变后的静态变量:'.$test::$num;

echo '<br><br>';

//静态变量比较特殊,它是被放置在计算机内存的静态区当中
// 静态变量只要调用了该类就会被创建
// 且对于一个类来说,每个静态变量只会在内存中保持一个
$a = new MyObject('哈哈');
echo $a::$num;
echo '<br>';

echo '<br><br>';

echo '静态方法的外部访问:';
// 使用类名+范围解析操作符+静态函数方法名
MyObject::desc2();
$a->desc2(); // 这样的方式来访问静态资源,不推荐
$a::desc2();

转载于:https://www.cnblogs.com/ZJCD/p/7206493.html

你可能感兴趣的文章
Android 音量调节
查看>>
HTML&CSS基础学习笔记1.28-给网页添加一个css样式
查看>>
windows上面链接使用linux上面的docker daemon
查看>>
Redis事务
查看>>
Web框架和Django基础
查看>>
python中的逻辑操作符
查看>>
关于tomcat下startup.bat双击闪退的问题
查看>>
CSS兼容性常见问题总结
查看>>
HDU 1548 A strange lift (Dijkstra)
查看>>
每天一个小程序—0005题(批量处理图片大小)
查看>>
JAVA反射机制
查看>>
点击可展开的TextView
查看>>
计算机软考笔记之《文件结构》
查看>>
C# 启动进程和杀死进程
查看>>
tcp实现交互
查看>>
IIS的各种身份验证详细测试
查看>>
JavaScript特效源码(3、菜单特效)
查看>>
未来之诗
查看>>
Django框架之第二篇
查看>>
Redis evalsha 命令
查看>>