PHP类基础(8)之静态成员的创建与访问

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_42380348/article/details/100548256
  1. 访问控制符:public》》protected》》private
  2. 成员状态符:self/parent/static
  3. 私有静态属性只能在类内部访问
  4. 在类中访问静态成员不能使用伪遍历$this,需要使用self::
  5. 静态属性只允许静态方法访问
  6. 外部(本类和子类访问都是)访问静态成员必须使用:类名::$属性名
  7. 外部对象不可以访问静态属性,可以访问静态方法
  8. instanceof 判断实例对象是否是某类的实例
<?php 
class Father
{
	//访问控制符:指示类成员在哪里可以被访问:public/private/protected
	//成员状态符:指示如何访问该成员:静态self/parent/static 非静态:$this->
	public static $name = 'peter'; //公共静态属性,类内部/外部/子类均可访问
	private static $age = 28; //私有静态属性,只能在类内部访问
	protected static $salary = 3600;//受保护的静态属性,可以在类内部和字类中访问
	public static function show(){ //静态属性只允许静态方法访问
		// 在类中,访问静态属性不能使用伪变量$this->,需要使用self关键字和::(范围解析符/范围符)
		return '年龄:'.self::$age.'---'.'工资:'.self::$salary;
	}
}
//创建字类Son,继承Father类
class Son extends Father{
	public static function display(){
		//parent::引用父类中的静态成员
		return '工资是:'.parent::$salary;
	}
}
echo '姓名是:'.Father::$name;
//外部访问静态成员,使用类名::静态成员,静态属性必须加$符号
//静态成员(静态属性和静态方法)
echo '<hr>';
echo Father::show();//访问类中的静态方法
echo '<hr>';
echo Son::show();//用子类中访问父类中的静态方法
echo '<hr>';
echo Son::display();//访问字类中的静态方法
echo '<hr>';
$obj = new Father;
echo $obj->show();//外部使用对象也可以访问静态方法
// echo $obj->$name;//外部对象不能访问类中的静态属性
$res = $obj instanceof Father;
echo '$obj是Father类中的实例吗?'.($res ? '是的':'不是');
 ?>

猜你喜欢

转载自blog.csdn.net/weixin_42380348/article/details/100548256