← 解説「アクセス修飾子 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