※ ChatGPTを利用し、要約された質問です(原文:PHPのオブジェクト指向の処理に関して)
PHPのオブジェクト指向の処理に関して
このQ&Aのポイント
PHPのオブジェクト指向の処理について解説します。
下記のスクリプトでは、Televisionクラスを使用してチャンネルを設定し表示しています。
一度目の処理で8ではなく4が表示されるのは、private変数が上書きされるためです。
http://www.phpbook.jp/tutorial/member/index4.htmlに下記のオブジェクト指向を含んだスクリプトがありました。
<html>
<head><title>PHP TEST</title></head>
<body>
<?php
$tv = new Television();
$tv->setChannel(4);
print('現在のチャンネルは'.$tv->getChannel().'<br>');
$tv->setChannel(20);
print('現在のチャンネルは'.$tv->getChannel().'<br>');
class Television{
private $channelNo = 8;
function setChannel($channel){
if (($channel >= 1) and ($channel <= 12)){
$this->channelNo = $channel;
}else{
print('チャンネルは1から12の間で設定して下さい<br>');
}
}
function getChannel(){
return $this->channelNo;
}
}
?>
</body>
</html>
これをブラウザ経由でみますと、
「現在のチャンネルは4
チャンネルは1から12の間で設定して下さい
現在のチャンネルは4」
と表示されます。
3行目に8ではなく4が表示されるのは、一度目の処理でprivate $channelNo = 8;が4に上書きされたのが原因なのでしょうか?
もしよろしければ、教えてください。お願いします。
お礼
ありがとうございます。わたしの思った通りの答えを頂いたのでとても嬉しいです。