クラス階層を設計するときに、サブクラスに新しいinitWithSomeNewParam
メソッドが追加されることがあり、スーパークラスから継承した古いinit
メソッドへの呼び出しを無効にすることが望ましい場合があります。他のプログラマが-initを呼び出さないようにするための最良の方法
まず最初に質問hereを読んでいます。提案されている選択肢は、実行時に例外をスローするためにinit
を上書きするか、プロパティのデフォルト値を上書きして設定します。私の場合は、デフォルト値を提供するのではなく、古いメソッドを呼び出すべきではないことを明示し、代わりに新しいメソッドを使用する必要があります。
ランタイム例外は問題ありませんが、コードがデバッグされていない限り、チーム内の他のプログラマーが古いメソッドが使用される予定がないことに気付くことはできません。
私が正しいとすれば、メソッドを「プライベート」としてマークする方法はありません。だから、コメントを追加するだけでなく、これを行う方法はありますか?
ありがとうございます。
コメントと例外 - これ以外にもできることはありません。 –