PHP protectedとprivateとは?違いと使い分けを解説
PHPでは、protectedとprivateは、クラスのメンバー属性やメソッドのアクセス権を制限するためのアクセス修飾子です。
- 保護された:
- protected修飾されたメンバー属性とメソッドは、現在のクラスとサブクラスでのみアクセスでき、つまりprotectedメンバーはサブクラスで継承およびアクセス可能です。
- 他のクラスはprotectedメンバーに直接アクセスできませんが、子クラスのインスタンスを介してアクセスできます。
- 非公開
- private修飾されたメンバー属性およびメソッドは、現在のクラス内でのみアクセス可能であり、サブクラスではアクセスできません。
- Privateメンバーに外部から直接アクセスすることはできないため、クラス内のパブリックメソッドを通じてアクセスする必要があります。
したがって、protectedメンバーはサブクラスから見え、privateメンバーはサブクラスから見えません。クラスを設計する際は、要件やデザイン目的に応じて、メンバーのアクセス権を制限するためにprotectedまたはprivateを選択する必要があります。