-5

カテゴリに追加されたメソッドを削除できる方法はありますか? そのカテゴリをサブクラス化またはコメントしたくありませんか? カテゴリを作成して使用し、後で使用したくない場合はどうなるか教えてください。私はココアに慣れていないので、助けや提案をお願いします....

4

1 に答える 1

1

Objective-C は動的言語であり、隠蔽の強力な概念がありません。公開、非公開、保護など。メソッド、特に実行時。この結果、子クラスは継承されたメソッドを隠すことができません。これは一部の言語で可能です。

したがって、単純で推奨される答えは、メソッドを削除または非表示にすることはできないということです。

しかし、Objective-C の非常に動的な性質を考えると、決して絶対に言わないでください...しかし、実際にはそこに行くべきではありません!

クラスの露出を減らす標準的な方法は、別のクラスにクラスのインスタンスを非公開で所有させ、そのインスタンスへのすべてのアクセスを管理することです。パターン指向であれば、これを行うパターンを見つけることができます。

于 2012-10-18T06:48:40.520 に答える