答えて
カテゴリは、新しいクラスをまったく生成せずにクラスに特別な機能を追加します。あなたはそれを拡張するだけですが、それは暗黙的に暗黙的に暗黙指定されているようなものではありません。
継承は、新しいインスタンス変数を追加したり、親子クラスから振る舞いをポリモフィズムで上書きできる新しいクラスを独自に生成します。
また、あるカテゴリでインスタンス変数を追加することはできませんが、サブクラスでは追加することができます。 – jmstone617
カテゴリは基本クラスに機能を追加するうえで便利な方法ですが、Flashなどの他のオブジェクト指向技術から来た私のような人は、このことが継承チェーンにどのように関係しているかを理解するのが少し難しいでしょう。同じ質問が私の心に浮かんだので、私はその話題について簡単に研究しました。
カテゴリは最終的にカテゴリと同じことを言います。基本クラスに機能を追加します。あなたがこれを覚えていれば、全く混乱はありません。
まあ、それを理解するには、例を挙げてください。クラスAがあり、クラスBがクラスAのサブクラスであるとします。アプリケーションでは、クラスBは多くの場所で使用されます。さて、Class Aにいくつかの機能を追加する必要があるので、新しいカテゴリは "A + newRole"と書かれています。このカテゴリが作成されると、新しい機能が基本クラス(この場合はクラスA)に追加されます。つまり、クラスBなどのクラスAの子クラスであるすべてのクラスが自動的に機能を取得します。それはすごく狂っている。すぐに、子クラスからカテゴリに追加された新しいメソッドを呼び出すことができます。ここで必要なのは、カテゴリファイルを適切な場所にインポートすることだけです。
素敵な説明@Mayank – iSwaroop
大丈夫です。サブクラス化とカテゴリについてはどうですか? –
- 1. Javascriptのプロトタイプの継承の相違点
- 2. ClojureプロトコルとGroovyカテゴリの相違点
- 3. 継承されたメンバーにアクセスする際の "this"と "super"の相違点
- 4. IE標準、相違点および相違点の相違点
- 5. importとconstとの相違点とcommonjsでの相違点
- 6. 継承と多相 - 理解
- 7. =と:=の相違点
- 8. Attribute.IsDefinedとMemberInfo.IsDefined - 継承されたパラメータの相違
- 9. PHPUnitとPHPSpecの相違点と相違点
- 10. 古典継承とプロトタイプ継承の違いを理解する
- 11. JSの多相性と深い継承
- 12. AS3の継承と多相形
- 13. CBUUIDとNSUUIDの相違点
- 14. NSTimeZoneとGMTの相違点
- 15. ListViewとArrayListの相違点
- 16. pictureBox.Update()とpictureBox.Refresh()の相違点
- 17. ApplicationContextInitializerとBeanFactoryPostProcessorの相違点
- 18. システムとshell_execの相違点
- 19. AsyncSocketとAsyncUdpSocketの相違点
- 20. .textと.get_text()の相違点
- 21. plt.close()とplt.clf()の相違点
- 22. `BeginSubscribeToStreamingNotifications`と` SubscribeToStreamingNotifications`の相違点
- 23. Delegate.InvokeとDelegateの相違点
- 24. InternalResourceViewResolverとUrlBasedViewResolverの相違点
- 25. tf.nn.convolutionとtf.nn.conv2dの相違点
- 26. Backbone.Layout.extendとBackbone.view.extendの相違点
- 27. JavaとMacOSの相違点
- 28. Yocto:CORE_IMAGE_EXTRA_INSTALLとIMAGE_INSTALLの相違点
- 29. window.someRandomVarとsomeRandomVarの相違点
- 30. CDRとxDRの相違点
[少なくともいくつかあります](http://stackoverflow.com/search?q=%5Bobjc%5D+inheritance+category)既存の質問:http://stackoverflow.com/questions/522341/difference-オブジェクト間の継承とカテゴリ間の継承c、http://stackoverflow.com/questions/9343670/what-is-the-actual-use-of-categories-instead-of-inheritanceとドキュメントこれはあなたのためにこれに答えるでしょう。 –