落書きノート

ふと自分が気になった事を書いてます

PHP 練習問題 カプセル化

protectedで宣言して継承するのかなというイメージが有りましたが、単にメンバ変数をprivateで隠すだけでした。以下のようになります。

<html>
<head>
  <title>カプセル化</title>
</head>
<body>
  <?php
  class Pform{
    private $syomei = "書名";
    private $kakaku = 10;

    public function setsyomei($su){
      $this->syomei = $su;
    }

    public function setkakaku($nedan){
      if($nedan >= 0 && $nedan <= 5000){
        $this->kakaku = $nedan;
      }else{
        $this->kakaku = -1;
      }
    }

    public function getsyomei(){
      return $this->syomei;
    }

    public function getkakaku(){
      return $this->kakaku;
    }
  }

  $obj = new Pform;
  $obj->setsyomei("PHP入門");
  $obj->setkakaku(3000);
   ?>

   <table border="2">
     <tr>
       <th>書名</th>
       <th>価格</th>
     </tr>
     <?php
      print "<tr><td>";
      print $obj->getsyomei();
      print "</td><td>";
      print $obj->getkakaku();
      print "</td></tr>";
      ?>
   </table>
</body>
</html>

20160206142016