PHP类 const常量访问方法例子
在php面向对象之final的应用中,讲到了PHP面向对象常用的修饰符final的应用,接下来讲到PHP面向对象中常用的常量修饰符const。
我们知道,在PHP中定义常量是通过define()函数来完成的,但在类中定义常量不能使用define(),而需要使用const修饰符。类中的常量使用const定义后,其访问方式和静态成员类似,都是通过类名或在成员方法中使用self访问,但在PHP 5.3.0之后也可以使用对象来访问。被const定义的常量不能重新赋值,如果在程序中试图改变它的值将会出现错误。
<?php
class MyClass {
const CONSTANT = 'CONSTANT value' ; //使用const声明一个常量,并直接赋上初使值
function showConstant() {
echo self ::CONSTANT ."<br>" ;//使用self访问常量,注意常量前不要加“$”
}
}
echo MyClass:: CONSTANT . "<br>" ; //在类外部使用类名称访问常量,也不要加”$”
$class = new MyClass();
$class->showConstant();
echo $class ::CONSTANT; // PHP 5.3.0之后
?>
关注细节:使用const定义的常量名称前不需要使用“$“符号,且常量名称通常都是大写的。
试图为const定义的常量赋值,将会出现错误。
<?php
class MyClass {
const CONSTANT = 'CONSTANT value' ;
function setCONSTANT(){
self ::CONSTANT = 'news CONSTANT' ;//程序运行结果将会出错。
}
}
echo MyClass:: CONSTANT ;
?>
程序运行结果将会出错。
PHP类 const常量访问方法例子相关推荐
- PyQt5 技巧篇-增加一个类级变量,类级变量的设置方法,类级“常量“设置方法
如果想增加一个全局变量来用的话,请看这篇文章: Python全局变量引用设置方法 方法一: 直接设定类级变量. setupUi(args) 是界面运行一定会执行的,所以在这里给self绑定变量,整个类 ...
- Effective Java之在公有类中使用访问方法而非公有域(十四)
1.对于公有类来说,如果类可以在它所在的包的外部进行访问,就提供访问方法,以保留将来改变该类的内部表示法的灵活性. 如果公有域暴露了他的数据域,要想在将来改变它的内部表示法是不可能的,因为公有类的客户 ...
- c语言const常量用法,C++ const常量在多文件编程中的3种用法
<C++多文件编程是什么>一节提到,多文件编程中代码的划分原则是:将变量.函数或者类的声明部分存放在 .h 文件,对应的实现部分放在 .cpp 文件中.值得一提得是,此规律适用于大部分场景 ...
- 一文带你了解MySQL之单表访问方法
前言 对于我们这些MySQL的使用者来说,MySQL其实就是一个软件,平时用的最多的就是查询功能.DBA时不时丢过来一些慢查询语句让优化,我们如果连查询是怎么执行的都不清楚还优化什么,所以是时候掌握真 ...
- python定义私有变量的方法_Python怎么修改私有属性 如何访问python类中的私有方法...
python 类为什么不能定义私有属性和方法 因为b.name[0] = 'zhang'修改的是类属性,类属性是全局的,所有的实例共享,如果想私有化,可以添加 def __init__( self ) ...
- 27、Python 面向对象(创建类、创建实例对象、访问属性、内置类属性、对象销毁、类的继承、方法重写、基础重载方法、运算符重载、类属性与方法、下划线双下划线)
27Python面向对象(Python2) Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. ...
- java的知识点15——String基础、String类和常量池、String类常用的方法、字符串相等的判断、组合模式
String基础 1. String类又称作不可变字符序列. 2. String位于java.lang包中,Java程序默认导入java.lang包下的所有类. 3. Java字符串就是Unicode ...
- java怎么访问私有类_如何从Java类的外部访问类的私有方法?
您可以使用java反射包访问类的私有方法. 步骤1-通过传递声明为私有的方法的方法名称来实例化java.lang.reflect包的Method类. 步骤2-通过将值true传递给setAccessi ...
- java定义一个长方形类,该类中具有长方形长宽两种属性,并具有相应的构造方法属性访问方法,计算长方形的周长和面积的方法,要求输出长是5,宽是4的长方形
定义一个长方形类,该类中具有长方形长宽两种属性,并具有相应的构造方法 属性访问方法,计算长方形的周长和面积的方法,要求输出长是5,宽是4的长方形 public class test3 {public ...
最新文章
- TiXml使用详解(转)
- 如何在TFS中用命令行提交更新
- 【正一专栏】没有对比就没有伤害-恒大亚冠赛有感
- 深入理解分布式技术 - 服务注册与发现背后的逻辑
- 【机器学习笔记四】分类算法 - 逻辑回归
- 开机未发现nvidia控制面板_修改这几个选项,就能提升你的开机速度
- SEO:提高关键词排名的28个SEO技巧
- 了解MySQL的隐式转化
- Ubuntu16.04 安装搭建RED5流媒体服务器
- 微信公众号模板消息推送
- 深度学习与围棋:为围棋数据设计神经网络
- 腾讯实习生腾讯云后台一面面经
- [渝粤教育] 苏州农业职业技术学院 日语会话基础 参考 资料
- BT种子/磁力/eD2K,P2P和各种下载协议
- 如何快速去除图片上的水印
- TwinCAT3中GetSystemTime()功能块使用
- Maya mental ray 焦散
- 某制造业大厂企业信息防泄密案例
- 为什么OpenCV计算的帧率是错误的?
- vue+echart实现双柱状图
热门文章
- mysql入门经典 王雨竹_MySQL入门经典
- keil无法识别JTAG仿真器解决办法
- 4012: [HNOI2015]开店
- bzoj4012开店 动态点分治
- 利用IO流一次性读取文件中的所有内容,利用IO流下载文件
- Protocol buffer---Protobuf3开发指南
- ssm毕设项目新能源汽车销售管理系统gooct(java+VUE+Mybatis+Maven+Mysql+sprnig)
- 学习日记——FPGA实验平台板级电路详解
- Android歌词秀设计思路(2)歌词处理
- 计算机基础课程三板块的分数,中南民族大学计算机基础教学实施办法