Dev Study
← 解説「アクセス修飾子 public / private / protected」に戻る

サンプルコードで身につける: アクセス修飾子 public / private / protected

解説で学んだ概念を、5つの具体例で確認します。素朴な例から実務寄りの例へと進みます。

1private の最小例

private を付けたプロパティはクラスの中からしか触れない、という基本を最小のクラスで確かめます。外から読むにも専用のメソッドを経由する、というカプセル化の第一歩です。

TypeScript

2public は省略時の既定

public は「どこからでも触れる」という指定で、何も書かない場合の既定でもあります。外から読み書きできることを確かめつつ、private との対比で3段階の出発点を押さえる例です。

TypeScript

3private でゲームの HP を守る

HP のような「勝手に書き換えられると壊れる値」を private にし、変更は必ずルール付きのメソッドを通す例です。0 未満にならないという制約をメソッド側で一元管理でき、不正な状態への経路を塞げます。

TypeScript

4protected は継承先まで触れる

protected は private と public の中間で、自分のクラスと継承先のクラスからだけ触れます。親クラスの内部状態を子クラスのメソッドで使いたいが、外部には見せたくない、という場面のための段階です。

TypeScript

5private + 検証で在庫を守る

在庫データを private の Record で持ち、出庫メソッドに「在庫不足なら拒否する」検証を入れた実務寄りの例です。データへの入り口をメソッドに限定することで、在庫がマイナスになる状態がそもそも作れなくなります。

TypeScript