私は教授から、まるで自分がオブジェクトであるかのようにページ上で自己紹介をするように指示されました。
1)オブジェクトの状態、2)動作、3)アイデンティティ。
しかし、私はこのようなことをどのように行おうとしているかについて、まだ本当に混乱しています。 (対処しなければならない3つの属性について読みましたが、それをどのように人に適用するかわかりません)。
たとえば、犬には名前、色、品種などの州があると言われました。歩行、barえる、尻尾を振るなどの行動も含まれます。
だから私は次のようなことをしますか?
Student me = new Student();
System.out.println(me.getName()); //a state?
System.out.println(me.getCurrentActivity()); //A behavior? (if it were to return watching TV or something)
System.out.println(me.get....()); //???
または、ここで完全に間違ったアイデアを得ていますか?
オブジェクトの特性は次のとおりです。
状態:オブジェクトが持っているもの、学生には名、姓、年齢などがあります
動作:オブジェクトが行うこと、学生はコース「Java for beginners」に参加します
ID:何が彼らをユニークにするか、学生は学生ID番号、またはユニークなメールを持っています。 (これは、オブジェクトが異なるかどうかを判断するために、equalsメソッドを実装するときに重要です)
Student john = new Student("John");
john.setCurrentActivity("Learning Java");
john.setAge(21);
john.setWeight(173);
john.setAddress(...);
john.setHobbies(...);
そして、ゲッターを把握できます。
public class Student {
private String name;
private int age;
//etc
// construct a new student
public Student(String name) {
this.name = name;
}
public setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
}
車のオブジェクトのイラスト、私はそれがあなたを助けるかもしれないとわかりました...
車の状態:
動作:
ID:
すべてのオブジェクトには3つの重要な機能があります。
オブジェクトの状態は、オブジェクトの属性によって定義されますおよびこれらの値によって定義されます。あなたの場合、name, age, gender
用語 "behavior"
はobjects interact with each other
、およびオブジェクトが実行できる操作によって定義されます。あなたの場合、学生オブジェクトは、何らかのアクティビティを実行できますか?
student.getResults();
Even objects with the same properties and behavior have their own individual identity.
例えば、
同じ年に同じ製造業者によって製造された2台の青いステーションワゴンは、まだ別個のユニークな車です。
オブジェクトのIDは、その属性または操作とは無関係です。そのため、オブジェクトのプロパティの値に関係なく、オブジェクトはそのアイデンティティを保持します。
@MrSimpleMindの回答をベストアンサーとしてマークし、@ JNLの回答について詳しく説明します。
Identityは、オブジェクトをその状態に関して一意にするものではありません(たとえば、name = "Tim"など)。ただし、アイデンティティは、オブジェクトがメモリ内の場所に関して一意であることです。
これについてさらに詳しくお読みになりたい場合は、まずこちらをご覧ください Wikiページ:Identity in OOP
[〜#〜] update [〜#〜]
メモリ内の場所という点で必ずしもそうではないことに言及する価値があります。オブジェクトをデータベースに保存する場合、基本的に行として保存されます。ここではID列が使用されます。