質問: いつもお世話になります。 processingを触っていて、いつもは気にならなかったのですが、PImageやPVectorがクラスと言われたりデータ型だと言われていたりして頭の中がごっちゃになってきました。 PVectorがクラスで、newしてインスタンス化するのに、PImageがクラスで、newしなかったりしてよくわかりません。 ただ一番最初に宣言する時の、例えばPVector vec;やPImage img;はデータ型として扱われているのだとは思います。 上手くまとめられず、私がクラスとデータ型でごちゃついてしまっているためわかりづらくすいません。 PImageやPVectorのクラスとデータ型について、わかる方がいましたら教えていただきたいです! よろしくお願いいたしますm(_ _)m
回答: あなたがクラスとか型(データ型?)というのをどういう定義で捉えているのかわかりませんが... クラス「と」型じゃなくて、クラスは型のひとつです。自分で定義出来る型。 クラスをデータを保持するだけに使えばデータ型ということになるでしょう。 Processing(というかJava)では、変数はクラスについては参照を保持するので、数値型がちょっと特殊な動作になっちゃった感がありますけれど。 PImageだってnewでインスタンス作っても構いませんけど、普通の使い方ではloadImageでファイルやネット上から取り込んだ画像データでインスタンスを作って、それをPImageの変数で保持することが多い、というだけでは。 ちなみに、 `PImage img=new PImage();` とすると、サイズ0,0の画像になるみたいですね。