Takunojiのプログラミング・プレイグラウンド(遊び場)

Javaプログラミングを基本にして、ゲーム作成に必要なことの調査結果、やったら面白そうなことなどを記載します。プログラミングのススメ的なことも記載します。プログラミングで楽しく遊ぶために色々と記載して行きます。

javaとc++ のクラス実装比較

ここで、少し休憩がてらに作成した

javaのHumanクラスとc++ のHumanクラスを比較して見たいと思います。

<java>

f:id:Takunoji:20170301190001p:plain

f:id:Takunoji:20170301190020p:plain

Javaではコンストラクタ、フィールドメソッドと定義して実行
特に、メモリとかオブジェクトのインスタンスを気にしないで作れます
<c++ >

f:id:Takunoji:20170301190038p:plain

f:id:Takunoji:20170301190150p:plain

値の返却方法、ポインタなどインスタンスからオブジェクトの振る舞いなどを考慮に入れて作成しました。

Javaではoperator演算子のオーバーライドができません。


そして、名前空間の定義方法も違います

javaの場合はパッケージとディレクトリ構成が同じにならないとエラーになる

c++ の場合は別になっている

 

結論的に、c++ の方が複雑⇒自由度が高い javaは細かいところは気にせず実装出来る…
そんな印象を受けました。
フレームワークなどはオープンソースでたくさん手に入るJavaに軍配が上がりました。
JavaでもC++の様にリソース(インスタンス、オブジェクトなど)を考慮に入れた実装を心がけないといけないなぁ...と反省しました。
次回からはQtを使用して「汎用画面AP」の実装に着手したいと思います。