いくつかの基本クラスを拡張しない特定のインターフェースを実装するすべてのクラスを識別するためにどのように?

GhostCat敬礼モニカC.:

私はいくつかのインタフェースを持ってAction、そのインターフェイスを実装するクラスのほとんどは、いくつかの塩基から誘導されていますAbstractActionしかし、私はその基本クラスを拡張しないそのインターフェイスを実装し、いくつかのクラスがあると仮定します。

このようなクラスを識別するためのIntelliJを使用して方法はありますか?(理想的に:コミュニティ版を使用して)

編集:これは、の重複ではないのIntelliJ IDEAでクラスのすべての親とサブクラスを表示する方法は?、私は「XとNOTは、Yを拡張する道具」のような条件を組み合わせるために探していますと。

ピーター:

だけで作品のIntelliJ IDEAアルティメットエディション
のIntelliJ IDEAと直接あなたの問題を解決するための一種に私の心に入ってくる唯一のものは生成することであるUMLクラスdiagrammあなたのActionインターフェイスを。

これは階層パターンを視覚的に検索できます。

ここのためdiagrammあるJTextComponent例としては:

ここでは、画像の説明を入力します。

別のアプローチ - 仕事のための適切なツールを使用して、

jqassistantはそののNeo4jデータベースにJavaコードとの関係や店舗を分析するツールです。これは、あなたが持つグラフクエリとして、あなたの問題を記述することができますCYPHER

始めるための最も簡単な方法はにあります

例:実装するすべてのクラスを見つけるためのクエリは、aInteface次のようになります

MATCH (i:Interface {name:"aIntefaces"}  )<-[:IMPLEMENTS]- (c) RETURN i,c

あなたの問題へのクエリは次のようになります。

MATCH 
   (i:Interface {name:'Action'}  )<-[:IMPLEMENTS|EXTENDS*1..10]- (class), 
   (abstractAction:Class {name:'AbstractAction'}) 
   where not (class)-->(abstractAction)   
RETURN class

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=228181&siteId=1