入力ストリームClojureをgen-class
経由で拡張するクラスを作成しようとしています。親クラスのメソッドを呼び出す場合、どうすればいいですか?Clojure gen-classメソッドでスーパークラスのメソッドを呼び出す方法は?
答えて
(doc gen-class)
から:
:exposes-methods {super-method-name exposed-name, ...}
It is sometimes necessary to call the superclass' implementation of an
overridden method. Those methods may be exposed and referred in
the new method implementation by a local name.
だから、親のfooBar
メソッドを呼び出すことができるようにするために、あなたが次に実装する
(ns my.custom.Foo
(:gen-class
; ...
:exposes-methods {fooBar parentFooBar}
; ...
))
言うと思いますfooBar
:
(defn -fooBar [this]
(combine-appropriately (.parentFooBar this)
other-stuff))
ns
フォームで提供される:gen-class
機能に加えて、gen-class
マクロがあります。
答えとその編集に関する追加情報をありがとう。の追加。呼び出しの重要な詳細です。 – Bill
これはあなたの実際の質問に対する回答ではありませんが、InputStreamがクラスではなくインターフェイスなので、ジェネラルクラスを全く必要としないようにするライブラリがあります。 io.core.InputStream
を調べて、io.core.InputStreamable
を整理し、カスタマイズされたInputStreamを入手することができます。必要なインスタンスフィールドはどれも、reify
によって閉じられたローカルの人に過ぎません。
面白い考え。私はそのようなことについて考えていましたが、これらをJavaに戻したい場合は入力ストリームが必要です。 – Bill
全体的なポイントは、入力ストリームを取得することです。ロジックを記述するInputStreamableを作成し、それをAOTed JavaクラスのInputStreamに渡します。例えば、(InputStream。(InputStreamable(read ...)(skip ...))) ')。 – amalloy
@Bill前のコメントで@ youを忘れてしまった。私はあなたが通知されなかったことを意味すると思います。今や第2の通知を受け取っていれば謝罪します。 – amalloy
- 1. Clojureでgenclassを使用してJavaクラスを拡張するときにスーパークラスを呼び出す方法は?
- 2. サブクラスのメソッドをスーパークラスのオブジェクトから呼び出す方法は?
- 3. Objective Cサブクラスの初期化メソッドがスーパークラスのinitializeメソッドを呼び出す方法
- 4. スーパークラスのスーパークラスからメソッドを呼び出す
- 5. C#でメソッド/呼び出しを別のメソッドから呼び出す方法は?
- 6. はサブクラスからスーパークラスのメソッドを呼び出す - JavaScriptの
- 7. メソッドC#で別のメソッドを呼び出す方法は?
- 8. メソッドを呼び出す方法は?
- 9. スーパークラスを拡張し、スーパークラスのコンストラクタパラメータでメソッドまたは遅延値を呼び出す方法
- 10. メソッドでスレッドを呼び出す方法
- 11. ボタンでメソッドを呼び出す方法
- 12. ログインページでメソッドを呼び出す方法
- 13. C#でメソッドを呼び出す方法
- 14. スーパークラスへのアクセスを持つサブクラスでの呼び出しメソッド
- 15. ルビのスーパークラスの別のメソッドを呼び出す
- 16. 元のメソッドをswizzledメソッドから呼び出す方法は?
- 17. メソッドのメニューからメソッドを呼び出す方法は?
- 18. CleanメソッドのPresenterからActivityメソッドを呼び出す方法は?
- 19. jQuery.sheet.SUM()メソッドの呼び出し方法は?
- 20. スーパークラスの汎用メソッドからサブクラスの汎用メソッドを呼び出す
- 21. オーバーライドされたメソッドを呼び出すと、オーバーライドされた呼び出しメソッドのスーパークラス
- 22. UITextViewを呼び出す方法addTargetメソッドを呼び出す
- 23. サブクラスで呼び出されるスーパークラスの静的メソッド
- 24. SuperclassメソッドからSubclassメソッドを呼び出す方法は?
- 25. メソッド内からメソッドを呼び出す方法は?
- 26. OnClickListener.onClickメソッドからメソッドを呼び出す方法は?
- 27. constメソッドから非constメソッドを呼び出す方法は?
- 28. メソッドを呼び出す方法
- 29. メソッドを一度呼び出す方法
- 30. tick()メソッドを呼び出す方法
これは古い質問ですが、時には注意を喚起します。 FWIWは、私が何年もClojureを使ってきたように、このようなことをするためにgen-classの力が必要だと思ったら、ちょっとだけJavaを書く方が簡単です。 – Bill