LoginSignup
0
1

More than 3 years have passed since last update.

PHPのOOPについて自習したことをまとめてみる③(アクセス修飾子について)

Posted at

public, protected, privateについて

・public-プロパティまたはメソッドはどこからでもアクセスできます。これがデフォルトです
・protected -プロパティまたはメソッドは、クラス内およびそのクラスから派生したクラスによってアクセスできます
・private -プロパティまたはメソッドはクラス内でのみアクセスできます

・アクセス修飾子は、プロパティとメソッドにつけることができる。

<プロパティにつけた場合>

accessproperty.php
<?php
class Fruit {
  public $name;
  protected $color;
  private $weight;
}

$mango = new Fruit();
$mango->name = 'Mango'; // OK
$mango->color = 'Yellow'; // ERROR
$mango->weight = '300'; // ERROR
?>

<メソッドにつけた場合>

accessmethod.php
<?php
class Fruit {
  public $name;
  public $color;
  public $weight;

  function set_name($n) {  // a public function (default)
    $this->name = $n;
  }
  protected function set_color($n) { // a protected function
    $this->color = $n;
  }
  private function set_weight($n) { // a private function
    $this->weight = $n;
  }
}

$mango = new Fruit();
$mango->set_name('Mango'); // OK
$mango->set_color('Yellow'); // ERROR
$mango->set_weight('300'); // ERROR
?>
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1