>>540
実装の変更だけで済む場合に有利なのはわかってるんですが
インターフェースを変更(メソッドの追加)せざるをえない時にどうするのかなと

>>541
例としてマージャンゲーを作るとしたら
public
・updateなどのコンセプトの仮想関数
・安全を保てる範囲でより低レベルなアクセサで、敵AIが知り得る情報など(自分の牌の枚数とか捨牌情報とか)

可視性不定
・安全を保てる範囲でより低レベルなアクセサで、敵AIが知り得ない情報など(自分の手牌とか)

↑に加えてAIの継承での拡張or外部関数での拡張orスクリプトでの拡張

って感じでしょうか
ここで相手の手札が見えるイカサマAIを追加しようとおもったらインターフェースから変えないと無理ですよね
必要になる度にちまちま公開していくなら最初から公開してしまえばいいじゃないと思ったんですが