Objective-C では、プロトコルと実装を同じヘッダー ファイルで定義できます。例えば:
@class GamePickerViewController;
@protocol GamePickerViewControllerDelegate <NSObject>
- (void)gamePickerViewController:
(GamePickerViewController *)controller
didSelectGame:(NSString *)game;
@end
@interface GamePickerViewController : UITableViewController
@property (nonatomic, weak) id <GamePickerViewControllerDelegate> delegate;
@property (nonatomic, strong) NSString *game;
@end
このように .h ファイルを含めると、ファイル内で定義されたプロトコルにアクセスできます。私は Java で同様の構造を探しています。あまりにも多くのファイル (インターフェイス ファイル + クラス ファイル) を作成したくない場合に便利です。そうすれば、次のように宣言できます。
public class MyImplementation implements AnotherClass.MyInterface{
AnotherClass otherClass;
}
インターフェイス内のネストされたクラスが進むべき道だと思います。私は正しいですか?それともJavaに似たものはありませんか?