static和const关键字的使用

";
			
			//在静态方法里去访问一个非静态属性,是会报错的
			//静态方法里只能访问他的静态属性
			echo self::$school; 
			
			
	}     

             
}

//访问静态方法
Person::say();
//我是中国
//Fatal error: Access to undeclared static property: Person::$school in F:\phpStudy\WWW\Obj\obj6.php on line 41


/*在非静态方法里可不可以访问静态成员呢,是可以的,但是也不能使用”$this”引用也要使用类名
或是”self::成员属性的形式”。*/


class Person
{
	//下面是人的静态成员属性
	public static $myCountry="中国";
	

	//这是人的静态成员方法, 通过self访问其它静态成员
	public  function say()
	{
			echo "我是".self::$myCountry."
"; } } //访问静态方法 Person::say(); //我是中国


/*
const是一个定义常量的关键字,其访问方式和静态成员类似,都是使用”类名”,在方法里面使用”self”关键字访问,
但在PHP 5.3.0之后也可以使用对象来访问。

*/

class MyClass
{

//定义一个常量constant
    const constant = 'constant value';

    function showConstant() {
        echo  self::constant ;  //使用self访问,不要加”$”
    }
}

echo MyClass::constant."
" ; //使用类名来访问,也不加”$” $class = new MyClass(); $class->showConstant(); echo $class::constant;


你可能感兴趣的:(OOP)