dim private public static_PHP中const,static,public,private,protected的区别

const: 定义常量,一般定义后不可改变

static: 静态,类名可以访问

public: 表示全局,类内部外部子类都可以访问;

private: 表示私有的,只有本类内部可以使用;

protected: 表示受保护的,只有本类或子类或父类中可以访问;

定义常量也可用 define 定义。

const与define在定义常量时会有如下区别:

  1. const用于类成员变量,一经定义不可修改,define用于全局常量,不可用于类成员变量的定义, 
    const可在类中使用,define不能。

  2. const定义的常量大小写敏感,而define可通过第三个参数(为TRUE表示大小写不敏感)来指定大小写是否敏感。 
    在运行时定义一个常量。define('TXE',100,TRUE);

  3. const不能在条件语句中定义常量,而define函数可以。if($a>10){define('LE','hello');}

class Demo
{
//定义常量【自php5.3后】,一个常量是属于一个类的,而不是某个对象的
//不可改变的
const EVENT = 'const';
static $event = 'static';
public $eventPublic = 'public';
private $eventPrivate = 'private';
protected $eventProtected = 'protected';
public function test()
{
//使用self访问类中定义的常量
echo self::EVENT.'
';
//同常量一样使用self
echo self::$event.'
';
//公共变量,受保护的变量,私密的变量通过$this访问
echo $this->eventPublic.'
';
//受保护的和私密的变量只能在当前类中访问
echo $this->eventPrivate.'
';
echo $this->eventProtected.'
';
}
//魔术方法
public function __get($name)
{
return $this->$name;
}
}
class One extends Demo
{
public function testOne()
{
//可继承父级使用parent访问
echo parent::EVENT.'
';
echo parent::$event.'
';
//也可通过父类直接访问
echo Demo::EVENT.'
';
echo Demo::$event.'
';
//继承父级中的成员变量后,只能访问公共变量
//私有变量和受保护的变量不能在子类中访问
echo $this->eventPublic;
}
}
$obj_1 = new Demo;
$obj_1->test();
echo "=================
";
$obj = new One;
$obj->testOne();

运行结果:

const
static
public
private
protected
=================
const
static
const
static
public

dc82bab6ca3fedcafa431869b7d88ed7.png

更多精彩

敬请关注“PHP技术大全”微信公众号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/276651.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#图解教程 第六章 深入理解类

深入理解类 类成员 前两章阐述了9种类成员中的两种:字段和方法。本章将会介绍除事件(第14章)和运算符外的其他类成员,并讨论其特征。 成员修饰符的顺序 字段和方法的声明可以包括许多如public、private这样的修饰符。本章还会讨论许多其他修饰符。多个修…

Apache用户身份验证

原文链接:http://www.yylog.org/?p4830 Apache用户身份验证 在apache应用过程中,管理员经常需要对apache下的目录做一些限制,不希望所有用户都能访问该目录下的文件,只对指定用户访问,此时我们就要用到apache用户身…

c# 获取word表格中的内容_Java 获取、删除Word文本框中的表格

本文介绍如何来获取Word文本框中包含的表格,以及删除表格。程序测试环境包括:IDEAJDK 1.8.0Spire.Doc.jar注:jar导入,可通过创建Maven程序项目,并在pom.xml中配置Maven仓库路径,并指定Free Spire.Doc for J…

PS抠图方法[photoshop中文教程]

PS抠图方法 一、魔术棒法——最直观的方法   适用范围:图像和背景色色差明显,背景色单一,图像边界清晰。   方法意图:通过删除背景色来获取图像。   方法缺陷:对散乱的毛发没有用。   使用方法&#xff1a…

FastReport使用方法(C/S版)

前言 这两天群里一直有群友问一些关于FastReport的问题,结合他们的问题,在这里做一个整理,有不明白的可以加 FastReport 交流群 群 号:554714044 工具 VS2017 FastReport 开始 1.新建项目,添加三个按钮。预览、设计、…

如何设置Linux时区为东八区

当我们购买美国VPS或服务器的时候,默认情况下是美国时间。对于我们定时执行某些任务会带来麻烦,所以需要设置时区为东八区。登录SSH后,执行tzselect命令。我们这里选择亚洲5.这里选择china 9。一般选东八区(北京,广东&…

Windows 10系统安装JDK1.8与配置环境

第一步:下载JDK1.8 地址:https://www.oracle.com/index.html 第二步: 安装分两次,第一次是安装 jdk ,第二次是安装 jre 。安装jdk默认的安装地址为C盘,安装目录 \java 之前的目录修改成你想放的目录;安装jr…

git安装与配置_git 安装及基本配置

git 基本上来说是开发者必备工具了,在服务器里没有 git 实在不太能说得过去。何况,没有 git 的话,面向github编程 从何说起,如同一个程序员断了左膀右臂。你对流程熟悉后,只需要一分钟便可以操作完成原文地址: 服务器 …

Apache伪静态学习

原文链接:http://www.benben.cc/blog/?p305 Apache中有着这样一个模块,它默默无闻,却是URL操作的瑞士军刀!有人这样评价它:“尽管它的例子和文档数量可以以吨来计算,但它仍然是巫术,该死的巫术…

不同的容器里实现 RadioButton的单选

请教一个各位牛人一个问题,如图: (问题解决,见后面的解决方案~~) 怎么在不同的winform容器(GroupBox)里实现 RadioButton (如图中两个“详细照会”)的单选,请各位牛人给出实现的思…

html调用接口_搜狗ocr识别接口

详细情况在代码中说明,如果不想自己使用TensorFlow,可使用下面接口这是要识别的图片:最终识别的结果:This is a lot of 12 point text to test theocr code and see if it works on all typesof file format.The quick brown dog …

CSAcademy Or Problem

传送门 一口大锅( 斜率的确是有单调性 并且可以进行凸优化的 明明是证出来的 为什么自己就不相信呢( 我们发现对于当前点作为扩展的右端点 那么他前面至多有20个点会影响到这一段区间的或值 我们可以预处理记录出来这些节点的位置 很明显 答案随着右端点…

模块定义文件导出类_浓缩的就是精华——ES6模块精炼讲解

概述在 ES6 前, 实现模块化使用的是 RequireJS 或者 seaJS(分别是基于 AMD 规范的模块化库, 和基于 CMD 规范的模块化库)。ES6 引入了模块化,其设计思想是在编译时就能确定模块的依赖关系,以及输入和输出的变量。ES6 的模块化分为…

Jquery1.6版本后attr的变化

原文链接:http://www.cnblogs.com/-run/archive/2011/11/16/2251569.html Jquery1.6版本后attr的变化 Jquery1.6版本后 attr 改动后的效果: jquery1.6版本: 下文来自www.jquery.com The difference betweenattributes and properties can b…

idea main scanner 输入_哇晒,你竟然不知道idea的 Live Templates

最近公司新近来一名程序猿,在写代码时,美美写到System.out.println的时候,都要一母不差的用键盘敲上去,我问他你之前有用过eclipse中的快捷方法syso吗?于是,我给他介绍了一下,在idea中如何自定义…

偷梁换柱做自己的封装系统

偷梁换柱做自己的封装系统!菜鸟一开始都想把自己的信息加到系统里,但封装系统只会一点!但我们可“拿来”,我们可以用偷梁换柱的方法来修改别人的系统,本文以雨林的GHOST5.0系统为例。一、准备工作1、当然是下载一个自己…

台电u盘量产工具_简单几步,让U盘起死回生

如今,虽说云存储风靡,但U盘仍存在价值,毕竟在很多场合并不方便上网,即便如此网上存储有时也并不方便,也不安全。与此同时,如果是大文件存储,云盘上传和下载速度非常慢,并不适合海量数…

系统架构师 项目经理 哪个更有前景_中央空调加地暖与五恒系统,哪个更省钱?...

每逢严冬酷暑,人们都会感叹空调是最伟大的发明,并且随着科技发展还在不断进化。从烤火取暖到空调和地暖的供暖,从纸扇电扇的吹风到空调的制冷,人们的需求正在不断提高,于是,为了满足人们的需求,市场上又衍生出了家装五恒系统。 恒温、恒湿、恒氧、恒洁、恒静这…

c++直角坐标系与极坐标系的转换_一篇阅读量高达2百6十多万的关于坐标系和投影的相关知识探讨...

本文转载于CSDN作者rsyaoxin这是一篇关于坐标和投影的「神文」截止目前浏览量已达2698239是相关文章中不可打破的神话...文末有本文作者推荐的两款坐标转换的小工具下载链接回想一下,接触遥感专业也有几个年头了,而现在越来越偏离遥感了,突然…

query string parameters什么意思_public static void main(String[] args) 是什么意思?(转)...

public static void main(String[] args),是java程序的入口地址,java虚拟机运行程序的时候首先找的就是main方法。一、这里要对main函数讲解一下,参数String[] args是一个字符串数组,接收来自程度序执行时传进来的参数。如果是在控…