博客列表 >类与对象-常量

类与对象-常量

夜澜风的博客
夜澜风的博客原创
2019年05月05日 17:01:44870浏览


// ## 2. 类常量
// * 类常量也类属性一样,也是属于类的, 必须用类访问,不能用对象访问
// * 类常量与类属性的区别是: 类常量不允许修改,而类属性可以修改
// * 类常量与普通常量的命名规则是一致的, 推荐使用大写字母或大写字母+下划线
// * 类常量不需要设置访问限制符,默认行为与`public`是一样的

define('SITE_NAME','PHP中文网'); //define() 函数定义一个常量。
define('COUNTRY','中国');

实例

class demo{
  const COUNTRY = '中国';
}

$a = new demo();
//echo $a->COUNTRY;   // 会报错
echo demo::COUNTRY.'<br>';

运行实例 »

点击 "运行实例" 按钮查看在线实例

// 常量的关键词:const

实例

class Demo2{
  // 类常量也类属性一样,也是属于类的, 必须用类访问,不能用对象访问
  const COUNTRY = '中国';
  // 类常量与类属性的区别是: 类常量不允许修改,而类属性可以修改
  public static $sex = '女';
  public $name;
  public function __construct($name){
     $this->name = $name;
  }
  public function getInfo(){
     // 类常量在类的内部,访问方式与类属性是一样的
     return $this->name.'的性别是:' . self::$sex.',国籍是: ' . self::COUNTRY;
  }
}
$obj = new Demo2('刘诗诗');
// // 访问类属性
echo $obj->name, '<br>';
// // // 访问类属性
echo Demo2::$sex, '<br>';
// // // 访问类常量
echo Demo2::COUNTRY, '<br>';
// // // 访问对象方法: 该方法又访问了类属性与类常量
echo $obj->getInfo();
echo '<hr>';
// // // 修改类属性
echo Demo2::$sex = '保密';
// // // 修改类常量: 报错
// // echo Demo2::COUNTRY = '美国';
// // // 可以看到类属性:$sex发生了变化
echo $obj->getInfo();
echo '<hr>';

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议