php面向对象的权限控制

   权限控制符共有三种类型:

  • public:公共的,类内类外均可访问.

  • protected:保护的,只有在本类和子类的内部可以访问.

  • private:私有的,只有在本类的内部可以访问.

    <?php
    class people1{
    	public $age=6;
    }
    $a=new people1();
    echo $a->age,'<br/>';
    
    class People2{
    	private $money=1000;
    	public function ShowMoney(){
    		return $this->money * 0.8;
    	}
    }
    $lisi=new People2();
    //echo $lisi->money;private是私有的,调用位置在people外,因此不能调用.
    echo $lisi->ShowMoney(),'<br/>';
    
    class Human{
    	private $money=1000;
    	private $bank=2000;
    	public function getBank($num){
    		$this->bank-=$num;
    		return $num;
    	}
    		public function send($much){
    			if($much>$this->money+$this->bank){
    				echo '没有那么多钱';
    				return false;
    			}else if($much>$this->money){
    				$num=$much-$this->money;
    				$this->money+=$this->getBank($num);
    				$this->money-=$much;
    				return $much;
    			}else{
    				$this->money-=$much;
    				return $much;
    			}
    }
    	public function showMoney(){
    		return $this->money;
    		}
    		public function showBank(){
    		return $this->bank;
    		}
    }
    $lisi=new Human();
    $m=$lisi->send(300);
    if($m){
    	echo'借了',$m,'元<br/>';
    	echo'零钱还剩下',$lisi->showMoney(),'元<br/>';
    	echo'银行还剩下',$lisi->showBank(),'元<br/>';
    }
    $m=$lisi->send(2000);
    if($m){
    	echo'借了',$m,'元<br/>';
    	echo'零钱还剩下',$lisi->showMoney(),'元<br/>';
    	echo'银行还剩下',$lisi->showBank(),'元<br/>';
    }
    $m=$lisi->send(1000);
    if($m){
    	echo'借了',$m,'元<br/>';
    	echo'零钱还剩下',$lisi->showMoney(),'元<br/>';
    	echo'银行还剩下',$lisi->showBank(),'元<br/>';
    }
    
    ?>

     

运行结果: 

 

发布了9 篇原创文章 · 获赞 5 · 访问量 348

猜你喜欢

转载自blog.csdn.net/qq_43737121/article/details/88670456