クラス/メソッド修飾子を使用してスプレッドシートを作成しようとしています。いくつか質問がありますが、スプレッドシート自体はここにあります。
1)私が読んだように、メソッドも可能ですがsealed、これの目的は何ですか?オーバーライドからメソッドを保護しますか?
2)フィールドもクラスに含まabstractれている必要がありますか?abstract
3)virtualメソッドは定義されたオブジェクト/クラスに本体を持つことができますか?
sealedメソッドは、継承チェーンをさらにオーバーライドすることを防ぎます。sealedメソッドには override キーワードも必要です。
フィールドを にすることはできませんabstract。フィールドはクラス レベルの変数です。それを上書きすることはできません。プロパティとメソッドは にすることができますがabstract、必須ではありません。
virtualとメソッドの違いabstractは、仮想メソッドには実装があることです。派生クラスでその実装をオーバーライドできます。
1: はい、まさにそのとおりです。サブクラスで仮想メソッドが再度オーバーライドされないようにする
2: フィールドは抽象的ではありません。フィールドは実装です。抽象クラスでは抽象である必要はありません
3: はい。仮想修飾子は抽象修飾子とは異なります。どちらも仮想メソッドを表します - 違いは完全に基本クラスに実装があるかどうかです