PHPでオブジェクト指向プログラミングをしようと全然だめだった話

PHP

世界のナベアツ問題以外にも、PHPでオブジェクト指向プログラミングにもチャレンジしています。

saikoro

目次

課題はサイコロアプリを書き直すこと

最初の課題は、手続き型プログラミングを、オブジェクト指向プログラミングで書き直す、という課題を設定してみました。もともとはたった4行のコードです。

[php]

<?php
$dice1 = mt_rand(1, 6);
$dice2 = mt_rand(1, 6);
echo "サイコロの目は".$dice1."です。";
echo "サイコロの目は".$dice2."です。";
?>
[/php]

2つのサイコロの目を出して、その目がゾロ目であるかどうか、判定する内容です。

サイコロの目を出すために書き換えた内容

とりあえず、最初に書き換えた構文はこのようなりました。

[php]

<?php
class Dice {
public $dice1;
public $dice2;

public function __construct() {   
$this->dice1 = $dice1;
$this->dice2 = $dice2;
}

// サイコロ1の目を取得
public function getShake1() {
$this->dice1 = mt_rand(1, 6);
}

// サイコロ2の目を取得
public function getShake2() {
$this->dice2 = mt_rand(1, 6);
}
}

$saikoro1 = new Dice($dice1);
$saikoro2 = new Dice($dice2);

echo $saikoro1->getShake1();
echo $saikoro2->getShake2();
?>?

[/php]

もちろん、このコードを実行するとエラーが出ます。何がエラーの原因かというより、オブジェクト指向そのものがよく分かってないって感じですね。

saikoro3

コードをどうするかと言うよりも、まず、オブジェクト指向でコードを書くときの考え方からしてやり直しです。

〔参考サイト〕

PHP

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次