LoginSignup
2
3

More than 3 years have passed since last update.

カプセル化とアクセス権について解説!

Last updated at Posted at 2019-05-02

はじめに

  • カプセル化とアクセス権について本やネットの情報から調べて理解したことをまとめました。
  • もし、書いていることに何か間違いがある場合はご指摘いただけると嬉しいです。

カプセル化とは

  • プロパティの値を変更されてしまわないように、他のクラスからのアクセスを制限すること。
  • プロパティをカプセルで覆うことで、触れられないようにするようなイメージ。

アクセス権とは

  • プロパティとメソッドへアクセスできる範囲を制限すること
  • public、protected、privateをアクセス修飾子という

アクセス修飾子の種類

アクセス修飾子 アクセスできる範囲
public どこからでもアクセス可能
protected そのクラス自身、継承したクラス、親クラスからのみアクセス可能
private そのクラスからのみアクセス可能

アクセス権のあるプロパティを操作するメソッド

  • getter(ゲッター)メソッドsetter(セッター)メソッドを使うことで、アクセス権があるプロパティを操作することができる。

getter(ゲッター)

  • アクセス権があるプロパティの値にクラスの外から取得するメソッド
  • 「getプロパティ名」のように書く。

コード例

<?php

class Products
{
    private $name = "パソコン";

    public function getName(){
        return $this->name;
    }
}

$product = new Products();

echo $product->getName();

?>
実行結果
パソコン

setter(セッター)

  • アクセス権があるプロパティの値にクラスの外からセット(設定)するメソッド
  • 「setプロパティ名」のように書く。

コード例

<?php

class Products{

    private $name;

    public function getName(){
        return $this->name;
    }

    public function setName($name){
        $this->name = $name;
    }
}

$product = new Products();

$product->setName("パソコン");

echo $product->getName();

?>
実行結果
パソコン
2
3
8

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
2
3