第8回 クラスの基本

  
参考書 Lesson 8(参考書p.214) ~
    
8 クラスの基本
 
 8.1 クラスの宣言(参考書 p.214)
 
・クラスとは

 - クラスはデータ処理を1セットにしたもの 
   データ ・・・int型、double型、配列などの変数
   処理 ・・・ メソッド
 - クラスは「オブジェクト指向プログラミング」の重要な要素
 
・クラスを宣言する

 - クラスの構造
 
 
 - クラスのメンバ
   フィールド(変数) と メソッド

<クラスの宣言の例>
class Car
{
  // フィールド(変数)
  int num;
  double gas;

  // メソッド
  int addGas(double g)
  {
     :
  }

  void showProperty()
  {
     :
  }
}

             
    
 8.2 オブジェクトの作成
 
・クラスを利用するということは
 - クラスは「設計図
 - クラスをプログラムで利用するには、「設計図」から「オブジェクト(インスタンス)」を作成する
 
・オブジェクトを作成する
 - 2つの手順が必要
  (1)変数を宣言
  (2)オブジェクトを作成して代入

 - 作成方法
  Car car1; // 変数を宣言
  car1 = new Car(); // オブジェクト(インスタンス)を作成、代入
 または
  Car car1 = new Car(); // 1行でまとめて記述

・メンバにアクセスする
 - オブジェクト変数にピリオドをつけて指定する
  car1.num = 2000;
  car1.gas = 50.3;
  
   
 8.3 クラスの利用
 
・クラスを利用するプログラム
 - クラスの宣言して利用する
<CarクラスをSample1クラスで利用する>
class Car // オブジェクトを作成
{
  int num;
  double gas;
}

class Sample1
{
  public static void main(String [] args)
  {
    Car car1 = new Car(); // オブジェクトを作成

    car1.num = 1234;
    car1.gas = 20.5;

    System.out.println("ナンバーは " + car1.num);
    System.out.println("ガソリン量は " + car1.gas);
  }
}

   
「Sample1」を実行する、以下のようになる
C:\java>java Sample1
ナンバーは 1234
ガソリン量は 20.5

C:\java>
 

・ 2つ以上のオブジェクトを作成する
 - オブジェクトはいくつでも作成できる
 
・ 2つのクラスファイルが作成される
 - コンパイルすると、1個のクラスにつき、1個のclassファイルが作成される
 
  
     
 8.4 メソッドの基本
 
・メソッドを定義する
・メソッドを呼び出す
 - 複数の処理をメソッドにまとめる
 
<メソッドの定義、呼び出しの例>
class Car
{
  int num;
  double gas;

  void show()
// メソッドを定義
  {
    System.out.println("ナンバーは " + num);
    System.out.println("ガソリン量は " + gas);
  }
}

class Sample2
{
  public static void main(String [] args)
  {
    Car car1 = new Car(); // オブジェクトを作成

    car1.num = 1234;
    car1.gas = 20.5;
   
car1.show(); // メソッドを呼び出す
  }
}
   
・メソッドにアクセスする方法
 - クラス内で、メソッドから他のメソッドを呼び出す
class Car
{
  int num;
  double gas;

  void show()

  {
    System.out.println("ナンバーは " + num);
    System.out.println("ガソリン量は " + gas);
  }

  void showCar() // メソッドを追加で定義
  {
    System.out.println("車の情報を表示します。");
    show(); // 上記の show() を呼び出す
  }
}
    
     
 8.5 メソッドの引数
 
・引数を使って情報を渡す
 - メソッドに引数(ひきすう)を渡すことができる
class Car
{
  int num;
  double gas;

  void setNum(int n)
// 引数を持つメソッド
  {
    num = n;
    System.out.println("ナンバーを " + num + "にしました。");
  }
}

class Sample3
{
  public static void main(String [] args)
  {
    Car car1 = new Car();

    //car1.num = 1234;
    car1.setNum(1234);
// 引数(1234)を指定してメソッドを呼び出す
    car1.gas = 20.5;
  }
}
   
・複数の引数をもつメソッドを定義する
・引数のないメソッドを使う
 - 複数の引数を渡すことができる
 - 引数なしのメソッド
class Car
{
  int num;
  double gas;

  void setNumGas(int n, double g)
// 引数を複数個持つメソッド
  {
    num = n;
    gas = g;
    System.out.println("ナンバーを " + num + "にしました。");
    System.out.println("ガソリン量を " + gas + "にしました。");
  }

  void show() // 引数なしのメソッド
  {
    System.out.println("ナンバーは " + num);
    System.out.println("ガソリン量は " + gas);
  }
}

class Sample4
{
  public static void main(String [] args)
  {
    Car car1 = new Car();

    car1.setNumGas(1234,20.5);
// 引数を複数指定してメソッドを呼び出す
    car1.show(); // 引数なしのメソッドを呼び出す
  }
}
    
  
     
 8.6 メソッドの戻り値
 
・ 戻り値のしくみを知る
 - メソッドは値を返す(戻す)ことができる
 - 戻り値は基本的に1個のみ
 - return で返す値の型を、メソッドの行頭に記述する
class Car
{
  int num;
  double gas;

  int getNum()
// int型の戻り値を持つメソッド
  {
    return num; // numが戻り値
  }

  double addGas(double g) // 引数、戻り値を持つメソッド
  {
    gas += g;
    return gas; // gasが戻り値
  }
}

class Sample5
{
  public static void main(String [] args)
  {
    Car car1 = new Car();

    car1.num = 1234;
    car1.gas = 20.5;

    System.out.println("ナンバーは " + car1.getNum());
   
System.out.println("ガソリン量は " + car1.addGas(5.2));
  }
}
   
実行すると、以下のようになる
C:\java>java Sample5
ナンバーは 1234
ガソリン量は 25.7

C:\java>
 

・戻り値のないメソッドを使う
 - 戻り値がない場合、メソッドの行頭に void をつける
     
  

 演習
 
  演習のページへ