私のコードにパターンがあることに気付きました。私は通常、private
ではなく、protected
を、私のクラスの "hidden"メソッドとフィールドのデフォルトアクセスラベルとして選択します。私は主に、クラスのユーザーのために機能するクラスについての詳細を隠していますが、今後も拡張のためのスペースを残しているためです。このコーディング "ポリシー"に欠点はありますか?私はいつか私のクラスを拡張する必要があるかもしれないので、私は "プライベート"の代わりに "保護された"を使用しています、それは悪いですか?
は、私は欠点がないと思うあなた
Tunnuz
いずれかの選択肢を作るためには*理由*が必要です。答えを構成するにはどうすればいいか分かりません。将来のサブクラスが特定のメソッドをオーバーライドする必要がある場合は、それを 'protected'にしてください。オーバーライドする必要がない場合(つまり、このクラスを元に戻し、オーバーライドするとクラスを完全に破る統合された機能)、非公開にします。私はこのドライブを理解していないので、私はここで頻繁に見られる "ワンサイズのルール"を見つけることができます。 –
もちろん、コード作成時に理由を挙げる必要があります。しかし、いつかクラスを延長できるかどうかわからない状況があります。 – tunnuz