PHP面向对象~属性

对属性进行了重写 

class employee{
	    protected    $sal=3000;
	    public function getSal(){      
	        return $this->sal;
	    }      
	}
	 
	class Manager extends employee {
	    protected  $sal=5000;
	     
	    public function getParentSal(){
	        return parent::getSal();
	    }  
	}

	$manager = new Manager();
	var_dump($manager);
	echo "PHP ".phpversion()."<br>";
	echo $manager->getSal();
	echo "<br>";
	echo "parent's \$sal ".$manager->getParentSal();

 

object(Manager)[1]

  protected 'sal' => int 5000

PHP 5.6.27
5000
parent's $sal 5000

class employee{
//把protected 变成 private
	    private  $sal=3000;
	    // protected    $sal=3000;
	    public function getSal(){      
	        return $this->sal;
	    }      
	}
	 
	class Manager extends employee {
	    protected  $sal=5000;
	     
	     
	    public function getParentSal(){
	        //这里返回的是父类的private属性.
	        return parent::getSal();
	    }  
	    
	    public function getsa(){
	        echo parent::getSal();
	        return $this->sal;
	    }  
	}

	$manager = new Manager();
	var_dump($manager);
	echo "PHP ".phpversion()."<br>";
	echo $manager->getSal();
	echo "<br>";
	echo "parent's \$sal ".$manager->getParentSal();
echo "<br>";
echo $manager->getsa();

此时对象拥有2个属性,当调用Manager类里面的就用protected类型的sal,调用父类里面的sal就用private.

object(Manager)[1]

  protected 'sal' => int 5000

  private 'sal' (employee) => int 3000

PHP 5.6.27
3000
parent's $sal 3000
3000

5000

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值