php面向对象第八篇 const最详解

67 阅读1分钟

const;是定义常量的意思,不过呢,他是在类内部定义常量的哈。
define是在类外部定义的哈,也就是说不在类的内部其他地方都可以定义的哈
用“const”修饰的成员属性的访问方式和“static”修饰的成员访问的方式差不多,也是使用“类名”,在方法里面使用“self”关键字。但是不用使用“$”符号,也不能使用对象来访问。
记住,const是不能修改的哈,会错的哈

<?php
class fu
{
	function eat()
	{
		echo "爸爸在吃饭";
	}
}
class zi extends fu
{
	const name='cyg';
	name='lw';
	
}
echo zi::name;

?>

在这里插入图片描述
用类调用常量属性

<?php
class fu
{
	function eat()
	{
		echo "爸爸在吃饭";
	}
}
class zi extends fu
{
	const name='cyg';
	
}
echo zi::name;

?>

在这里插入图片描述
问题?怎么用对象调用常量属性呢?

<?php
class fu
{
	function eat()
	{
		echo "爸爸在吃饭";
	}
}
class zi extends fu
{
	const name='cyg';
	function eat()
	{
		echo self::name."在吃饭";
	}
}
$zi1=new zi();
$zi1->eat();
?>

在这里插入图片描述
问题;如果直接对象直接调用常量属性可以吗?

<?php
class fu
{
	function eat()
	{
		echo "爸爸在吃饭";
	}
}
class zi extends fu
{
	const name='cyg';
	function eat()
	{
		echo self::name."在吃饭";
	}
}
$zi1=new zi();
$zi1->name;
?>

在这里插入图片描述