php类常量用法实例分析
本文实例讲述了php类常量用法。分享给大家供大家参考。具体如下:
<?php
/**
* PHP类常量
*
* 类常量属于类自身,不属于对象实例,不能通过对象实例访问
* 不能用public,protected,private,static修饰
* 子类可以重写父类中的常量,可以通过(parent::)来调用父类中的常量
* 自PHP5.3.0起,可以用一个变量来动态调用类。但该变量的值不能为关键字(如self,parent或static)。
*/
class Foo
{
// 常量值只能是标量,string,bool,integer,float,null,可以用nowdoc结构来初始化常量
const BAR = 'bar';
public static function getConstantValue()
{
// 在类的内部可以用self或类名来访问自身的常量,外部需要用类名
return self::BAR;
}
public function getConstant()
{
return self::BAR;
}
}
$foo = 'Foo';
echo $foo::BAR, '<br />';
echo Foo::BAR, '<br />';
$obj = new Foo();
echo $obj->getConstant(), '<br />';
echo $obj->getConstantValue(), '<br />';
echo Foo::getConstantValue();
// 以上均输出bar
class Bar extends Foo
{
const BAR = 'foo'; // 重写父类常量
public static function getMyConstant()
{
return self::BAR;
}
public static function getParentConstant()
{
return parent::BAR;
}
}
echo Bar::getMyConstant(); // foo
echo Bar::getParentConstant(); // bar
希望本文所述对大家的php程序设计有所帮助。
相关推荐
-
php 类中的常量、静态属性、非静态属性的区别
一.类常量:在类中始终保持不变的值定义为常量 类的常量不能使用访问限制修饰符,他是 public 的,可继承,可以被子类重写,访问类的常量必须使用双冒号 :: ,可以使用类名或类的实例来访问,因为是常量,所以名称不能使用表示变量的符号 $. 可以把在类中始终保持不变的值定义为常量.在定义和使用常量的时候不需要使用 $ 符号. 常量的值必须是一个定值,不能是变量,类属性,数学运算的结果或函数调用. 接口(interface)中也可以定义常量.更多示例见文档中的接口部分. 自 PHP 5.3.0 起
-
php类常量的使用详解
可以把在类中始终保持不变的值定义为常量.在定义和使用常量的时候不需要使用 $ 符号. 常量的值必须是一个定值,不能是变量,类属性,数学运算的结果或函数调用. 接口(interface)中也可以定义常量.更多示例见文档中的接口部分. 自 PHP 5.3.0 起,可以用一个变量来动态调用类.但该变量的值不能为关键字(如 self,parent 或 static). Example #1 定义和使用一个类常量 <?php class MyClass { const constant = 'consta
-
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
一.抽像类(abstract) 在我们实际开发过程中,有些类并不需要被实例化,如前面学习到的一些父类,主要是让子类来继承,这样可以提高代码复用性 语法结构: 复制代码 代码如下: abstract class 类名{ 属性 $name; 方法(){} //方法也可以为abstract 修饰符 function 方法名(){} } 例: 复制代码 代码如下: abstract class animal{ public $name; public $age; //抽象方法不能有方法体,主要是为了让子
-
探讨PHP中OO之静态关键字以及类常量的详解
闲着没事随便找了点PHP的关于OO的点资料看看,访问控制修饰符,self,parent,const,static几个关键字,箭头操作符(书上也这么叫..即"->"),范围解析操作符(即双冒号"::"),不过觉得这个跟C#语言里的OO很多是一样的,很容易理解不过还是看看理清PHP里的OO思路还是应该的吧.--------------------------------------------------------------------------------
-
PHP面向对象程序设计之类常量用法实例
类常量是PHP面向对象程序设计中非常重要的一个概念,牢固掌握类常量有助于进一步提高PHP面向对象程序设计的水平.本文即以实例形式描述了PHP程序设计中类常量的用法.具体如下: 类常量:类中,保存运行周期内,不变的数据. 定义: const 关键字 const 常量名 = 常量值 例子如下: class Student { public $stu_id; public $stu_name; public $stu_gender; const GENDER_MALE= '男'; const GEND
-
php类常量用法实例分析
本文实例讲述了php类常量用法.分享给大家供大家参考.具体如下: <?php /** * PHP类常量 * * 类常量属于类自身,不属于对象实例,不能通过对象实例访问 * 不能用public,protected,private,static修饰 * 子类可以重写父类中的常量,可以通过(parent::)来调用父类中的常量 * 自PHP5.3.0起,可以用一个变量来动态调用类.但该变量的值不能为关键字(如self,parent或static). */ class Foo { // 常量值只能是标量
-
python类继承用法实例分析
本文实例讲述了python类继承用法.分享给大家供大家参考.具体方法如下: #!/usr/bin/python # Filename: inherit.py class SchoolMember: '''Represents any school member.''' def __init__(self, name, age): self.name = name self.age = age print'(Initialized SchoolMember: %s)'% self.name def
-
android中Handle类的用法实例分析
本文实例讲述了android中Handle类的用法.分享给大家供大家参考.具体如下: 当我们在处理下载或是其他需要长时间执行的任务时,如果直接把处理函数放Activity的OnCreate或是OnStart中,会导致执行过程中整个Activity无响应,如果时间过长,程序还会挂掉.Handler就是把这些功能放到一个单独的线程里执行,与Activity互不影响. 当用户点击一个按钮时如果执行的是一个常耗时操作的话,处理不好会导致系统假死,用户体验很差,而Android则更进一步,如果任意一个Ac
-
Python iter()函数用法实例分析
本文实例讲述了Python iter()函数用法.分享给大家供大家参考,具体如下: python中的迭代器用起来非常灵巧,不仅可以迭代序列,也可以迭代表现出序列行为的对象,例如字典的键.一个文件的行,等等. 迭代器就是有一个next()方法的对象,而不是通过索引来计数.当使用一个循环机制需要下一个项时,调用迭代器的next()方法,迭代完后引发一个StopIteration异常. 但是迭代器只能向后移动.不能回到开始.再次迭代只能创建另一个新的迭代对象. 反序迭代工具:reversed()将返回
-
Python callable()函数用法实例分析
本文实例讲述了Python callable()函数用法.分享给大家供大家参考,具体如下: python中的内建函数callable( ) ,可以检查一个对象是否是可调用的 . 对于函数, 方法, lambda 函数式, 类, 以及实现了 _ _call_ _ 方法的类实例, 它都返回 True. >>> help(callable) Help on built-in function callable in module __builtin__: callable(...) calla
-
java队列之queue用法实例分析
Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构 Queue接口与List.Set同一级别,都是继承了Collection接口.LinkedList实现了Deque接 口. Queue的实现 1.没有实现的阻塞接口的LinkedList: 实现了java.util.Queue接口和java.util.AbstractQueue接口 内置的不阻塞队列: PriorityQueue 和 ConcurrentLinkedQueue PriorityQueue 和 Concurren
-
Python lambda函数基本用法实例分析
本文实例讲述了Python lambda函数基本用法.分享给大家供大家参考,具体如下: 这里我们简单学习一下python lambda函数. 首先,看一下python lambda函数的语法,如下: f=lambda [parameter1,parameter2,--]:expression lambda语句中,冒号前是参数,可以有0个或多个,用逗号隔开,冒号右边是返回值.lambda语句构建的其实是一个函数对象. 1>无参数 f=lambda :'python lambda!' >>&
-
python定义类self用法实例解析
这篇文章主要介绍了python定义类self用法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在定义类的过程中,无论是显式的创建类的构造方法,还是向类中添加实例方法,都要将self参数作为方法的第一个参数. class Person: def __init__(self): print("正在执行构造方法") def study(self, name): print(name, "正在学python")
-
Tensorflow tf.tile()的用法实例分析
tf.tile()应用于需要张量扩展的场景,具体说来就是: 如果现有一个形状如[width, height]的张量,需要得到一个基于原张量的,形状如[batch_size,width,height]的张量,其中每一个batch的内容都和原张量一模一样.tf.tile使用方法如: tile( input, multiples, name=None ) import tensorflow as tf a = tf.constant([7,19]) a1 = tf.tile(a,multiples=[
-
php redis的scan用法实例分析
在删除缓存的时候,我们在一些场景下需要批量删除,但不确定具体的key值,可通过匹配的方式进行查询后删除. 但是使用keys会导致redis服务器宕机.慎用... 一般公司也会禁用keys等比较敏感的命令的. 所以工作中会使用scan命令来进行匹配查询 SCAN cursor [MATCH pattern] [COUNT count] 比如 # 从游标 0 开始扫描 匹配 test1:* 的键值,一次扫描1000条 scan 0 match test1:* count 1000 1) 表示下一次扫
随机推荐
- 三种带箭头提示框总结实例
- Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
- maven搭建spring项目(图文教程)
- Spring Boot多数据源及其事务管理配置方法
- js实现适合新闻类图片的轮播效果
- php实现通用的从数据库表读取数据到数组的函数实例
- 使用ViewPager实现android软件使用向导功能实现步骤
- 在MAC上搭建python数据分析开发环境
- linux安装全中文管理面板教程(php+mysql)
- mysql从执行.sql文件时处理\n换行的问题
- canvas实现图像布局填充功能
- checkbox设置复选框的只读效果不让用户勾选
- ASP Crazy 模版操作类(最简单的模板类、仅提供交流)
- asp.net网站防恶意刷新的Cookies与Session解决方法
- jquery实现标签支持图文排列带上下箭头按钮的选项卡
- WINDOWS系统下怎样配置squid做CDN的简明图解
- Java字符串写入文件三种方式的实现
- 腾讯QQ网页在线客服,隐藏在网页一侧的隐现效果二
- PHP实现正则表达式分组捕获操作示例
- 解决在laravel中auth建立时候遇到的问题
