welcome: please sign in
location: "クラスの定義"の差分
1と11のリビジョン間の差分 (その間の編集: 10回)
2009-10-23 02:33:53時点のリビジョン1
サイズ: 26
編集者: masahiko
コメント:
2012-03-22 01:59:02時点のリビジョン11
サイズ: 2704
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 1: 行 1:
== クラスの定義 == == クラス ==

 . クラスはオブジェクトの'''状態'''と'''操作'''(動作)をサポートする。
 . オブジェクトの状態は'''属性'''の集まりとして表される。
 . オブジェクトの操作(動作)は'''メソッド'''で記述される。

=== クラス図 ===

 . UMLでクラスは3段に分かれた長方形で表す
 . {{attachment:classzu1.png}}
 . 1段目はクラス名
 . 2段目は属性
 . 3段目は操作

=== クラスの定義 ===

クラスの記述(Javaプログラム)は次の項目で構成される。
5つの項目があるが、必要なものだけ記述すればよい。

 {{{
 修飾子 class クラス名
 {
     static変数の宣言
     属性(変数)の宣言
     コンストラクタの定義
     普通のメソッドの定義
     staticメソッドの定義
 }
 }}}

=== クラス図とJavaプログラムの対応 ===
 . 属性
   . static変数の宣言 (前回解説)
   . 属性の宣言 (前回解説)
 . 動作
   . コンストラクタの定義 ('''今回解説''')
   . 普通のメソッドの定義 ('''今回解説''')
   . staticメソッドの定義

=== 例 ===
 {{{#!java
public class Item
{
 String name;
 int price;

 public static void main(String[] args)
 {
  ...
 }
}
 }}}
----
=== 演習 ===
次を行いなさい。

クラス名は '''Item''' , ファイル名は '''Item.java''' とすること。
 . {{attachment:item.png}}
 . 変数名(名前,価格)が日本語で書かれているが、アルファベットに直すこと。
 . 値(おにぎり,お茶,...)は日本語でも英語でもよい。
 . a,b,c,d はmainメソッド内のローカル変数とする。
 . 正しく行われていることを確認するためのprint文を必要に応じて挿入すること。

(1) 図の状態になるプログラムを書きなさい。
 . {{attachment:item1.png}}

(2) 実行の途中の時点で(1)の状態になり、そののち次の状態になるプログラムを書きなさい。
 . {{attachment:item2.png}}
注意
 . 代入文の個数が最小となるようすること。
 . ローカル変数は a,b,c,d の4つしか使わないこと。
----

=== 変数の内容は? ===
変数a,b,cには何が入っているのでしょうか。

上のプログラムの表示部分を次のように変えて実行してみました。
 {{{#!java
  System.out.println(a);
  System.out.println(b);
  System.out.println(c);

 }}}
実行結果はこうなりました。
 . {{attachment:kekka2.png}}
値は
 {{{
クラス名@アドレス
 }}}
の形式で表示されています。

クラス

  • クラスはオブジェクトの状態操作(動作)をサポートする。

  • オブジェクトの状態は属性の集まりとして表される。

  • オブジェクトの操作(動作)はメソッドで記述される。

クラス図

  • UMLでクラスは3段に分かれた長方形で表す
  • classzu1.png

  • 1段目はクラス名
  • 2段目は属性
  • 3段目は操作

クラスの定義

クラスの記述(Javaプログラム)は次の項目で構成される。 5つの項目があるが、必要なものだけ記述すればよい。

  •  修飾子 class クラス名
     {
         static変数の宣言
         属性(変数)の宣言
         コンストラクタの定義
         普通のメソッドの定義
         staticメソッドの定義
     }

クラス図とJavaプログラムの対応

  • 属性
    • static変数の宣言 (前回解説)
    • 属性の宣言 (前回解説)
  • 動作
    • コンストラクタの定義 (今回解説)

    • 普通のメソッドの定義 (今回解説)

    • staticメソッドの定義

  •    1 public class Item
       2 {
       3         String name;
       4         int price;
       5 
       6         public static void main(String[] args)
       7         {
       8                 ...
       9         }
      10 }
    


演習

次を行いなさい。

クラス名は Item , ファイル名は Item.java とすること。

  • item.png

  • 変数名(名前,価格)が日本語で書かれているが、アルファベットに直すこと。
  • 値(おにぎり,お茶,...)は日本語でも英語でもよい。
  • a,b,c,d はmainメソッド内のローカル変数とする。
  • 正しく行われていることを確認するためのprint文を必要に応じて挿入すること。

(1) 図の状態になるプログラムを書きなさい。

  • item1.png

(2) 実行の途中の時点で(1)の状態になり、そののち次の状態になるプログラムを書きなさい。

  • item2.png

注意

  • 代入文の個数が最小となるようすること。
  • ローカル変数は a,b,c,d の4つしか使わないこと。


変数の内容は?

変数a,b,cには何が入っているのでしょうか。

上のプログラムの表示部分を次のように変えて実行してみました。

  •    1                 System.out.println(a);
       2                 System.out.println(b);
       3                 System.out.println(c);
    

実行結果はこうなりました。

  • kekka2.png

値は

  • クラス名@アドレス

の形式で表示されています。

クラスの定義 (最終更新日時 2012-03-22 01:59:02 更新者 masahiko)