亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么我在父類里定義一下private屬性,通過子類繼承,可在外面訪問,


class Human{
?? ?private?? $height;?? ??? ?
}
class Player extends Human {
??? protected $age;
??? function __construct($name,$height){
?? ??? ? $this->name = $name;
?? ??? ? $this->height = $height;
?? ??? ? }
}
$joden=new Player('joden','25');
echo $joden->height;

正在回答

2 回答

Play的構造方法中這句代碼:

$this->height = $height;

相當于給player增加了一個height屬性...

0 回復 有任何疑惑可以回復我~

class Human{

? ? private ? $height;

? ? public function setHeight($h){

? ? $this->height=$h;

? ?

? ? }

? ? public function printHeight(){

? ? echo "Human height:".$this->height;

? ? }

}

class Player extends Human {

? ? protected $age;

? ? function __construct($name,$height){?

? ? ? ? ?$this->name = $name;

? ? ? ? ?$this->height = $height;

? ? ? ? ?}

}

$joden=new Player('joden','25');

echo 'Player Heihgt:'.$joden->height;

echo '<br>';

echo '調用 Human 方法設置Human 的私有height:<br>';

echo $joden->setHeight(30);

echo $joden->printHeight();

echo '<br>';

echo '再次打印Player的Heihgt:'.$joden->height;


1 回復 有任何疑惑可以回復我~
#1

狗剩兒

height一共答應了3次,這段代碼想說明第一次輸出的height和第二次輸出的height不是同一個變量,第一次輸出的height是Play構造的,和父函數中被私有化的height沒有任何關系,第二個輸出的height是通過setheight方法設置的純正爸爸私家貨。思路很清晰,不錯!
2016-03-15 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么我在父類里定義一下private屬性,通過子類繼承,可在外面訪問,

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號