「PHPでオブジェクト指向入門10~アクセサメソッド(カプセル化)~」の編集履歴(バックアップ)一覧はこちら

PHPでオブジェクト指向入門10~アクセサメソッド(カプセル化)~」(2015/11/09 (月) 00:36:46) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

前回記事[[PHPでオブジェクト指向入門9~アクセス装飾子(カプセル化)~]]ではpublicとprivateについて学習しました。 実際のコードを見ていきましょう。長方形の面積を計算しますが、エラーならば値が不正ですというようにしていきたいと思います。11月7日記事 ~ ~ 目次 #contents ~ ~ ---- ~ *privateとpublic 横の変数$widthと縦の変数$heightはクラスの中で値をチェックするために外から呼び出されないようにprivateにします。 また、外から呼び出される方はpublicにしておきます。 ~ ~ *コード Rectangle.php <?php class Rectangle{ private $width; private $height; //プロパティ値を初期化 public function __construct(){ $this->width = "値が不正です。"; $this->height = "値が不正です。"; } //widthプロパティのゲッターメソッド public function getWidth(){ return $this->width; } //widthプロパティのセッターメソッド public function setWidth($width){ if(is_numeric($width) && $width > 0){ $this->width = $width; } } //heightプロパティのゲッターメソッド public function getHeight(){ return $this->height; } //heightプロパティのセッターメソッド public function setHeight($height){ if(is_numeric($height) && $height > 0){ $this->height = $height; } } //計算 public function getArea(){ if($this->width === "値が不正です。"|| $this->height === "値が不正です。"){ return "値が不正です。"; }else{ return '面積は'.$this->getWidth() * $this->getHeight().'です。'; } } } ?> index.php <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>アクセサメソッド</title> </head> <body> <?php require ('../class/Rectangle.php'); $f = new Rectangle(); $f->setWidth(10); $f->setHeight(-10); print $f->getArea(); ?> </body> </html> ~ ~ *実行結果 どちらかを負の数や文字列にすると値は不正ですと出ます。 ~ ~ *まとめ 何を隠して、何を呼び出す準備しておけばいいのかというイメージがとても必要です。 ~ ~ 以上
前回記事[[PHPでオブジェクト指向入門9~アクセス装飾子(カプセル化)~]]ではpublicとprivateについて学習しました。 実際のコードを見ていきましょう。長方形の面積を計算しますが、エラーならば値が不正ですというようにしていきたいと思います。11月7日記事 ~ ~ 目次 #contents ~ ~ ---- ~ *privateとpublic 横の変数$widthと縦の変数$heightはクラスの中で値をチェックするために外から呼び出されないようにprivateにします。また、外から呼び出される方はpublicにしておきます。 ~ ~ *コード Rectangle.php <?php class Rectangle{ private $width; private $height; //プロパティ値を初期化 public function __construct(){ $this->width = "値が不正です。"; $this->height = "値が不正です。"; } //widthプロパティのゲッターメソッド public function getWidth(){ return $this->width; } //widthプロパティのセッターメソッド public function setWidth($width){ if(is_numeric($width) && $width > 0){ $this->width = $width; } } //heightプロパティのゲッターメソッド public function getHeight(){ return $this->height; } //heightプロパティのセッターメソッド public function setHeight($height){ if(is_numeric($height) && $height > 0){ $this->height = $height; } } //計算 public function getArea(){ if($this->width === "値が不正です。"|| $this->height === "値が不正です。"){ return "値が不正です。"; }else{ return '面積は'.$this->getWidth() * $this->getHeight().'です。'; } } } ?> index.php <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>アクセサメソッド</title> </head> <body> <?php require ('../class/Rectangle.php'); $f = new Rectangle(); $f->setWidth(10); $f->setHeight(-10); print $f->getArea(); ?> </body> </html> ~ ~ *実行結果 どちらかを負の数や文字列にすると値は不正ですと出ます。 ~ ~ *まとめ $widthは呼び出されるようにしておくと最初は思いがちですが、チェックしたものを呼び出すのがここでは重要な点です。つまり何を隠して、何を呼び出す準備しておけばいいのかというイメージがとても必要です。 ~ ~ 以上

表示オプション

横に並べて表示:
変化行の前後のみ表示: