0

私はアンドロイド上にある本を読んでいますが、ミニブックのいくつかのジャバのものをブラッシュアップしています。私はすでにJavaに関する本を読んでいて、インターフェースを知っています。本は言う

インターフェイス実装階層(「階層」と呼べる場合)は、クラス拡張階層を横断します。このアイデアを図4-1に示します。ここでは、クラス拡張を垂直に表示し、インターフェイスの実装を水平に表示しています。(AndroidのKeyboardViewクラスはandroid.inputmethodサービスパッケージに含まれています。リスト4-3のKeyboardViewと自家製のMyListenerクラスは、AndroidのOnClickListenerインターフェイスを実装しています。)

クラス階層をまたがるインターフェース切断

バード、バリー(2011-11-14)。ダミーのためのAndroidアプリケーション開発オールインワン(p.197)。ジョン・ワイリーとサンズ。キンドル版。

「クラス階層を横断する」とは、兄弟クラスの両方がインターフェイスを拡張することを意味するのでしょうか...この図で指摘し、図4-3のクラスの垂直階層を水平に横断すると言っているのはわかりません。 ..私が得たものよりも深い特別な概念があるかどうか説明してください...

4

1 に答える 1

2

MyListenerと -class の両方がKeyboardView-interface を実装しOnClickListenerます。これにより、これらのクラスは両方ともOnClickListeners になります。

Object考え方は次のとおりです。すべてのクラスは基本クラス (利用可能な最も基本的なクラス)から派生します。これにより、すべてのクラスがObject. OOP の観点から考えると、何かについて言える最も抽象的なことは、それがオブジェクトであるということです。

Singerインターフェイスに戻って、2 つのインターフェイスがあると仮定しましょうWriter。人は歌手になることができ、人は作家になることができます。しかし、彼/彼女は両方になることもできます。

実装Singerおよび/またはWriterオブジェクトについて詳しく説明します。いくつかのコード:

class Guy implements Singer, Writer{
  // Empty
}
Guy chris = new Guy();

hireWriter(chris); // Accepts "Writer" as it's parameter
hireSinger(chris); // Accepts "Singer" as it's parameter

インターフェースを実装することで、このオブジェクトが次のことをコードに伝えます。

  1. アンObject
  2. Singer
  3. Writer

この「クラス階層のカット」は、より多くのクラスから派生するのではなく、インターフェースを実装することによって、クラスに関するより多くの情報を提供することによって行われます。

于 2012-08-01T23:28:50.097 に答える