それで、あなたはどう思いますか?
私の Java 講師は、プロパティは常に非公開であると宣言する必要があり、それ以外の方法で宣言する必要はないと言いました。私はすぐに、継承がそれにどのように影響するかを考え始めました。
それで、あなたはどう思いますか?
私の Java 講師は、プロパティは常に非公開であると宣言する必要があり、それ以外の方法で宣言する必要はないと言いました。私はすぐに、継承がそれにどのように影響するかを考え始めました。
フィールドがプライベートであると宣言するということですか?もしそうなら、私はあなたの講師に同意しますが、「理由がない」は少しやり過ぎかもしれません. 入れ子になったプライベート クラスなど、非プライベート フィールドを使用する理由が非常にまれにあります。
しかし、はい、単純なスーパークラス/サブクラスの関係では、フィールドを保護する代わりにゲッター/セッターを使用します。クラスによって公開されるAPIから実装を分離し、そのサブクラスにさえも分離します。
Private は、元のクラスを拡張するクラスが直接アクセスするのを防ぎます。一般的に言えば、元のクラスを拡張し、継承クラスがその特定のクラス メンバーを直接変更できるようにする場合は、変数を宣言するのに protected の方が適していると思います。