javaの勉強をしていて、
新しいクラスを作ること=新しい型を作ること
と書いてあり、Playerクラスを作るとPlayer型を使えるということはわかるのですが、
int i = 0;
int型は整数を扱う?のに対して
Player player;
Player型は何を扱うのでしょうか?
よろしくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
ベストアンサー
まずは、オブジェクト型とプリミティブ型の違いについて。
int や boolean 等はプリミティブ型といって、最も基本的な型です。
これらは、単純に、int = 整数 や boolean = true/false というように
この型はこういう種類の値を扱う、というものが純粋に決められています。
それに対し、オブジェクト型というのはStringやFile、Playerのように
複数の情報をひとまとまりにして管理する型です。
(Objectというクラスを暗に継承しているのでオブジェクト型といいます)
オブジェクト型には、すべて責務が存在し(存在するように設計し)
その型はその責務に応じた情報や機能を管理します。
で、Player型は何を扱うか、というと、Palyerというクラスに与えられた責務に応じた情報・機能を扱います。
投稿2015/07/23 05:45
総合スコア297
0
int型は整数を扱う?のに対して (略)
Player型は何を扱うのでしょうか?
ユーザが定義したクラスは、ユーザが定義した型を扱います。
Playerなら(クラス名から推測するに)プレイヤーを扱うのでしょう。
これだけだと、ただ繰り返してるだけに聞こえるでしょうから、補足しますと、
整数の型がある意味は何かというと、別の型と混じらないようにするためです。
たとえば、「1」と「1」を足すとき、整数の型だと「2」ですが、
文字列型だと「11」になります。だから違う型が混じるとバグの原因になります。
同じようにプレイヤーを型として扱う意味も、別の型と混じらないためでしょう。
設計によりますが、たとえば球技のプレイヤーならボールだとか。
ちなみに、Javaでは整数などはプリミティブ型で、クラス型とは別ですが、
SmalltalkやRubyだと、整数もクラスで「1」もオブジェクトです。
投稿2015/07/23 05:44
総合スコア5592
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/23 07:59
2015/07/23 08:16
2015/07/23 14:16
2015/07/27 00:58