PHP面向对象程序设计之类常量用法实例

yipeiwu_com6年前PHP代码库

类常量是PHP面向对象程序设计中非常重要的一个概念,牢固掌握类常量有助于进一步提高PHP面向对象程序设计的水平。本文即以实例形式描述了PHP程序设计中类常量的用法。具体如下:

类常量:类中,保存运行周期内,不变的数据

定义:

const 关键字
const 常量名 = 常量值

例子如下:

class Student
{
public $stu_id;
public $stu_name;
public $stu_gender;
const GENDER_MALE= '男';
const GENDER_FEMALE = '女';
}

类常量不受访问限定修饰符的限制
访问方法:
类::常量名

例子如下:

class Student
{
public $stu_id;
public $stu_name;
public $stu_gender;
const GENDER_MALE= '男';
const GENDER_FEMALE = '女';
public function __construct($id,$name,$gender='')
{
$this->stu_id= $id;
$this->stu_name= $name;
$this->gender= ($gender == ' ')?self::GENDER_MALE : $gender;
}
}

总结:类中可以定义的成员有:常量、静态属性、非静态属性、静态方法、非静态方法

此处需要注意:
$this 表示当前对象,那么他永远表示$this所在类的对象么?
答案是否定的!因为$this的值,不取决于$this所在的类,而是取决于$this所在方法被调用时的执行对象(执行环境)

方法的执行环境,当前方法是在哪个对象的环境下执行,该方法内的$this就表示哪个对象。

相关文章

PHP实现更新中间关联表数据的两种方法

本文以示例形式展示了PHP实现更新中间关联表数据的两种方法。分享给大家供大家参考之用。具体方法如下: 首先,中间关联表:这里的中间表只存表1的主键和表2的主键,即多对多的形式。 执行数据...

php flush无效,IIS7下php实时输出的方法

在一个比较费时的操作中,想把操作记录在浏览器上实时显示出来,用到了flush(),把缓冲中的内容发送到浏览器。但在iis7里面用fastcgi模式配置的php怎么都实现不了,结果总是一起...

解决出现SoapFault (looks like we got no XML document)的问题

今天在调试项目的时候出现下面的错误信息: SoapFault looks like we got no XML document (D:\phpStudy\WWW\self.sho...

php中的抽象方法和抽象类

1、什么是抽象方法? 我们在类里面定义的没有方法提的方法就是抽象方法。所谓的没有方法体指的是,在声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名后加上分号结束,另外在声明抽象...

PHP gbk环境下json_dencode传送来的汉字

复制代码 代码如下: function ArrEncode($arr){ foreach($arr as $k=>$v){ if(is_array($v)){ $arr[$k] =...