2013-08-23 4 views
6

JavaコードをObjective-Cに変換しようとしています。以下のクラスは、 TestCodeRequestの拡張です。これを客観的なCに相当するものに変換する方法を知っています。 Javaが静的に型定義されており、規約よりも構成が複雑なため、少し混乱しています。一方、Objective-Cは動的に型指定され、構成よりも規則的です。私は以下のサンプルコードを持っています。小さなヒントは本当に素晴らしいはずです。Javaを目的のCに変換する

package com.TestCode.api; 

import java.io.IOException; 

import oauth.signpost.exception.OAuthCommunicationException; 
import oauth.signpost.exception.OAuthExpectationFailedException; 
import oauth.signpost.exception.OAuthMessageSignerException; 

import org.json.JSONObject; 

public class Categories extends TestCodeRequest { 

    public Categories(String apiKey, String apiSecret) { 
      super(apiKey, apiSecret, "categories"); 
    } 

    public Categories field(Object... fields) { 
     super.field(fields); 
     return this; 
    } 

    public JSONObject getCategories() throws OAuthMessageSignerException, OAuthExpectationFailedException, OAuthCommunicationException, IOException { 
     return this.get(); 
    } 

    public Categories categoriesField(Object... fields) { 
     return this.field(fields); 
    } 

} 

答えて

11

Objective Cの翻訳者には、いくつかの優れたJavaがあります。コードの場合、がシンプルで、すべてが機能するはずです。翻訳者が通常問題に遭遇する場所は、(特にルック・アンド・フィールとユーザーのやりとりの分野では)発散的な考え方があるため、コールをランタイム・ライブラリに翻訳することです。ここで良い仕事をするには、シンタックスからセマンティクスに戻っていく必要があります。これは、ソフトウェアにとっては非常に困難です。

"Objective-Cは動的に型付けされていますが、構成上の慣例は"これを参照することはできませんが、 "Javaは静的に型付けされています。特にGUI開発。言語のこの側面は本質的なものではなく、多くの場合特定のオペレーティングシステムに依存する開発者が通常採用しているライブラリに属します。だから、Swingのルック・アンド・フィールやインタラクションのモードからiOSへの変換のように、JavaをObjective Cに変換することについてはあまり話していないでしょう。

すべてを考慮して、自動変換ツールを学習ツールとして使用することをおすすめします。生成されたコードは、機能していても複雑になり、ユーザーインターフェイスを組み込んでいるため、メンテナンスや開発には向いていないし、再設計しなければ再コーディングする必要があります。しかし、もう一度、彼らは非常に便利な学習ツールとして。

  • Google J2ObjC
  • java2objc
  • JCGO目的は作業何かを持っているのであればこの1つは、これは十分に良いことができ、Cに変換します。目的が目的のCをすべての素晴らしさで学ぶことであれば、そうではありません。
+0

非常に曖昧な質問に対する優れた答えです。 (投票された) –

+0

目的Cには素晴らしさがありますか? – noelicus

関連する問題