4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Java】オブジェクト指向まとめ_その2

Posted at

前回

【Java】オブジェクト指向まとめ_その1 - Qiita

趣旨

前回は、クラス作成、インスタンス化についてでした。

今回は、インスタンス操作まで行い、一旦終了です。

一部訂正

プログラミングにおけるオブジェクト
訂正前:
「物体」

訂正後:
「情報の集まり」
理由:
現実世界の「物体」では、不都合があるため。

例:
空気は、「オブジェクト」? → Yes

空気は、「物体」? → No
空気は、「情報の集まり」? → Yes

スケジュールは、「オブジェクト」? → Yes

スケジュールは、「物体」? → No
スケジュールは、「情報の集まり」? → Yes

参考

【Java】 オブジェクトって何? | 一番かんたんなJava入門
Javaのオブジェクト指向入門

【Java】 コンストラクタって何? this( )の意味 | 一番かんたんなJava入門

インスタンスを使う準備

前回のコード(再掲)

Car.java
class Car {
	String carname = "A"; // 車の名前
	String color = "red"; // 車の色

	void start() { // 車の発信動作
		System.out.println("発進します");
	}
 
	void stop() { // 車の停止動作
		System.out.println("止まります");
	}
}

【プログラムの解説】

  • Carクラス作成
CarTest.java
class CarTest{
	public static void main(String[] args){
		Car car = new Car();
	}
}

【プログラムの解説】

  • Car型の参照型変数carにCarインスタンスを代入
  • インスタンス本体ではなく、参照(インスタンス本体の位置)が代入される。
    参照.png

参照型変数を通して、インスタンスのフィールドを操作

CarTest.java
class CarTest{
	public static void main(String[] args){
		Car car;
		car = new Car();
		car.carname = "B"; // 車の名前を"B"に変更
		car.color = "blue"; // 車の色を"blue"に変更
	}
}

【プログラムの解説】

  • carのcarnameにBを代入。
  • carのcolorにblueを代入。
  • 参照型変数名.フィールド名とすると、インスタンスのフィールドが操作可能。

参照(フィールド操作).png

参照型変数を通して、インスタンスのフィールドを出力

CarTest.java
class CarTest{
	public static void main(String[] args){
		Car car;
		car = new Car();
		car.carname = "B";
		car.color = "blue";
		System.out.println(car.carname); // 出力結果:B
		System.out.println(car.color); // 出力結果:blue
	}
}

【プログラムの解説】

  • 出力も基本は同じで、参照型変数名.フィールド名として操作可能。

参照型変数を通して、インスタンスのメソッドを実行

CarTest.java
class CarTest{
	public static void main(String[] args){
		Car car;
		car = new Car();
		car.carname = "B";
		car.color = "blue";
		car.start(); // 出力結果:発信します
		car.stop(); // 出力結果:止まります
	}
}

【プログラムの解説】

  • メソッドもフィールドと操作方法は同じで、参照型変数名.メソッド名として操作可能。

参照(メソッド操作).png

結果

スクリーンショット 2019-04-28 0.33.34.png

まとめ

概要:

  • プログラミングにおけるオブジェクトは、「情報の集まり」で「名前」をつけたもの。実体がある。
  • オブジェクト指向は、オブジェクトを扱う為の考え方。
  • クラスは設計書。インスタンスはクラス型で生成した実体。

インスタンス操作について:

  • インスタンスを操作するには、「クラス作成→インスタンス化→インスタンスの参照を保存→参照を通して、インスタンスのフィールド、メソッドを操作」という手順を踏む。

その他:

  • インスタンス操作以外の難しそうな用語はここではスルー。
  • コンストラクタ/デフォルトコンストラクタ/this/this()/カプセル化/継承/ポリモルフィズム/ガベージコレクタ
4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?