前回
趣旨
前回は、クラス作成、インスタンス化についてでした。
今回は、インスタンス操作まで行い、一旦終了です。
一部訂正
プログラミングにおけるオブジェクト
訂正前:
「物体」
訂正後:
「情報の集まり」
理由:
現実世界の「物体」では、不都合があるため。
例:
空気は、「オブジェクト」? → 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();
}
}
【プログラムの解説】
参照型変数を通して、インスタンスのフィールドを操作
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を代入。
- 参照型変数名.フィールド名とすると、インスタンスのフィールドが操作可能。
参照型変数を通して、インスタンスのフィールドを出力
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(); // 出力結果:止まります
}
}
【プログラムの解説】
- メソッドもフィールドと操作方法は同じで、参照型変数名.メソッド名として操作可能。
結果
まとめ
概要:
- プログラミングにおけるオブジェクトは、「情報の集まり」で「名前」をつけたもの。実体がある。
- オブジェクト指向は、オブジェクトを扱う為の考え方。
- クラスは設計書。インスタンスはクラス型で生成した実体。
インスタンス操作について:
- インスタンスを操作するには、「クラス作成→インスタンス化→インスタンスの参照を保存→参照を通して、インスタンスのフィールド、メソッドを操作」という手順を踏む。
その他:
- インスタンス操作以外の難しそうな用語はここではスルー。
- コンストラクタ/デフォルトコンストラクタ/this/this()/カプセル化/継承/ポリモルフィズム/ガベージコレクタ