答えて
Object subclass: Foo []
「通常の」Smalltalkの構文ではありませんが、最近追加されたファイルでコード化することができます。その前に、クラスを宣言するための専用の構文はありませんでした。なぜなら、それらは画像のコマンドによって作成されるからです。あなたはカップルの理由のために間違っているだろうと予想通り、このコードを解釈:subclass:
はObject
に送信された実際のメッセージだった場合、それだけで宣言されているので
最初に、そして
Foo
は可能ではない何か、を解決する必要があります。しかし、舞台裏では、コンパイラは同様のことを行いますObject subclass: #Foo
ここで、#Foo
は作成する新しいクラスの名前のシンボルです。そのようなすべてのコードを記述することは可能です。ただし、クラス名を直接使用することはできません(コードが読み取られた時点ではまだ存在しないため)。あなたはどこにでも(Smalltalk at: #Foo) new printNl
をしなければならないでしょう。だから、フォーム全体Object subclass: Foo [ ]
は、などだけでこのクラスを作成する必要があることを宣言し、この時点でメッセージがObject
に送信されなければならないという意味ではない純粋な構文、第二に、あなたがクラスを作成する必要はありませんアルゴリズムの途中ですぐにメッセージを送信すると、それは開発の実践としてはかなり醜いでしょう。ブラウザがそれらを表示できるように、クラスをシステムに登録する必要があります。コンパイラは依存関係を自動的に再コンパイルすることができます。バージョンコントロールはそれらを記録できます。また、コードが誤ってこの2回実行するとどうなりますか?あなたはセカンドクラスのFooを取得し、以前のものを忘れていますか?したがって、通常、コンパイラ、ブラウザ、およびその他のメタプログラミングツールのみが、新しいクラスを作成し、プログラマの要求時にのみ作成されます。
これは2つのステートメントとして解釈されます。最初は
オブジェクトのサブクラスである:はFoo []
と第二は、それがゼロであるように、新しい変数が未定義
printNl新しい
あります。
- 1. なぜ新しいキーワードを使用してアクティビティを作成できないのですか?
- 2. AXで新しいクラスを作成できないのはなぜですか?
- 3. Laravelで同じリクエストで作成された関連モデルを使用できないのはなぜですか?
- 4. セキュリティグループが同じで、VPCで同じセキュリティグループを使用できないのはなぜですか?
- 5. border-leftに同じアニメーションを使用できないのはなぜですか?
- 6. CFScriptを使用している場合、同じクエリー内の2つの場所で同じcfqueryparamを使用できないのはなぜですか?
- 7. FlaskアプリケーションがPython Social Authを使って新しいユーザーを作成できないのはなぜですか?
- 8. なぜAptanaでgitリポジトリをクローンして新しいPHPプロジェクトを作成できないのですか?
- 9. 文字列が同じでないのはなぜですか?
- 10. なぜgensim Doc2Vecは同じ文章に対して私に異なるベクトルを与えるのですか?
- 11. なぜFetchType.EAGERを使用して同じエンティティクラスで2つのリストを使用できない
- 12. mysqli_fetch_assocを使用して同じ結果を2回表示できないのはなぜですか?
- 13. Withキーワードを使用して複数の列を同時に更新できないのはなぜですか?
- 14. 同じクラスの新しいオブジェクトをPythonで作成していますか?
- 15. 使用しているキーボードと同じキーボードレイアウトを作成できますか?
- 16. 新しいオブジェクトキーの作成や同じ関数内の変数としてパラメータを使用できますか?
- 17. Rデータフレームで、なぜ新しく作成された変数を条件内で使用して別の変数を作成できないのですか?
- 18. Python - なぜオブジェクトの新しいインスタンスを作成しないのですか?
- 19. デバッガで新しい文字列を使用できないのはなぜですか?
- 20. なぜスーパークラスの参照変数を使用してそのサブクラスのメソッドにアクセスできないのですか(スーパークラスでは使用できないメソッド)?
- 21. なぜ新しいレコードを作成するのですか?
- 22. 複数のUITableViewCellサブクラスで同じxibを使用していますか?
- 23. 毎回新しいリストを作成しないのはなぜですか?
- 24. これはなぜ新しい行を作成しないのですか? PHP
- 25. EFモデルを使用してmvcで作成/更新しない
- 26. なぜ新しいgmailログインページでselenium web driverを使用してパスワードフィールドを処理できないのですか?
- 27. AddRangeを使用してサブクラス化アイテムを追加できないのはなぜですか?
- 28. 作者の新しいパッケージをインストールできないのはなぜですか?
- 29. AWSで新しいst1/sc1 EBSボリュームをルートボリュームとして使用できないのはなぜですか?
- 30. なぜストーリーボードを使用しているときにXCode 4がXIBファイルを作成しないのですか?
その場でサブクラスを作成すると、java>でうまく動作します。 – milan