クラスは設計図
どんな値を持ち、どんな処理ができるかを決めます。まだ実体ではなく、作るための型です。
Java Output Practice
メール、パスワード、またはGoogleアカウントで学習ページに入ります。
Java オブジェクト指向基礎編 / Lesson01 オブジェクト指向の基礎
Object-Oriented Basics
Java Silverへ進む前に、クラス、オブジェクト、フィールド、メソッドの関係を1枚の地図にします。コードを見たときに「何を作り、何を持ち、何を動かすのか」を分けて読める状態を目指します。
class Student {
String name;
int score;
void show() {
System.out.println(name + ": " + score);
}
}
Student s = new Student();
s.name = "Ari";
s.score = 90;
s.show();
どんな値を持ち、どんな処理ができるかを決めます。まだ実体ではなく、作るための型です。
new Student() で、設計図から実際に使える1つの実体を作ります。
name や score のように、オブジェクトが持つ値です。
show() のように、オブジェクトに行わせる処理です。状態を使って動くことがあります。
s.name は「sという実体のname」です。左側の実体を必ず見ます。
new Student("Ari") の瞬間に、必要な値をフィールドへ入れます。
this.name は、今作っているオブジェクト自身のnameフィールドを指します。
b = a と書くと、bもaと同じ実体を見る状態になります。
private とメソッドを使って、値の読み書きの入口を整えます。
データを持つクラスに、そのデータを使う処理を寄せると、コードの意味が読みやすくなります。
Tracea Note
クラスはルール、オブジェクトはそのルールから作った実物です。試験問題では、クラスに書いてある内容を見てから、どの変数がどのオブジェクトを指しているかを追います。
出力問題では、フィールドの値がいつ代入され、どのメソッドがその値を使うのかを線でつないでください。ここが曖昧だと、継承やコンストラクタに進んだときに一気に読みにくくなります。
OOP Output Practice
class、object、constructor、this、reference、privateを、出力問題として手で追います。答えより先に、どの変数がどの実体を見ているかを確認しましょう。