データ構造とアルゴリズム分析-第1章Javaクラス(02)
Personという名前のクラスを作成し、人の名前と年齢をそれぞれ表す2つのデータドメインを含む.このような方法には、いずれかのデータドメインを設定して取得する方法が含まれる必要があります.また、次のテストを行う方法も含まれています.2つのPersonオブジェクトが等しいか--同じ名前と年齢があるかどうか 一人が他の人より年上か 最後に、人の名前と年齢からなる文字列を返すtoStringメソッドも求めます.
プログラムプレゼンテーションクラスの各メソッドを書く
コード実装
プログラムプレゼンテーションクラスの各メソッドを書く
コード実装
package com.crazycoder2010.datastructure.ch01;
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public boolean equals(Object obj) {
if(obj == null || !(obj instanceof Person)){
return false;
}
Person that = (Person)obj;
boolean isAgeEquals = this.age == that.age;
if(!isAgeEquals){
return false;
}
if(this.name == null){
if(that.name == null){
return true;
}else{
return false;
}
}else{
return this.name.equals(that.name);
}
}
public boolean isOlderThan(Person person){
return this.age > person.getAge();
}
@Override
public String toString() {
return "name:"+this.name+",age:"+this.age;
}
}
テストコードpackage com.crazycoder2010.datastructure.ch01;
public class PersonTest {
public static void main(String[] args) {
Person person = new Person();
person.setName("Kevin");
person.setAge(20);
System.out.println(person);
Person person2 = new Person();
person2.setName("Kevin");
person2.setAge(20);
System.out.println(person.equals(person2));//true
System.out.println(person.equals(new Person()));//false
System.out.println(person.equals(null));//false
Person person3 = new Person();
person3.setName("Kevin");
System.out.println(person.equals(person3));//false
person3.setAge(28);
System.out.println(person.isOlderThan(person3));//false
}
}
実行出力結果name:Kevin,age:20
true
false
false
false
false