クラスのすべての属性を表示する必要がある課題があります。
私の質問は、人物オブジェクトに追加の属性を追加せずにコードを機能させるにはどうすればよいですか?
コードは動作するようになりましたが、どうやら元の人物クラスに変更を加えることは想定されていません。それは次のとおりです。
class person
{
String firstName;
String lastName;
int age;
person(String informedFirstName, String informedLastName, int informedAge)
{
firstName = informedFirstName;
lastName = informedLastName;
age = informedAge;
}
String whatIsUp()
{
return "undetermined";
}
String getName()
{
return firstName +" "+lastName;
}
String getAge()
{
String str = String.valueOf(age);
return str;
}
String getInfo()
{
return ("Name = "+ getName() + " age="+ getAge());
}
}
私が持っている作業コードは次のとおりです。
アプリクラス
class app
{
public static void main(String[] args)
{
student st1 = new student("Zack","Mills",21,".....");
professor p1 = new professor("Fred","Fonseca",44,".....");
TA ta1 = new TA("Paris","Hilton",20,"......");
System.out.println(st1.getInfo());
System.out.println(p1.getInfo());
System.out.println(ta1.getInfo());
}
}
人物クラス:
class person
{
String firstName;
String lastName;
int age;
String status;
person(String informedFirstName, String informedLastName,
int informedAge, String informedStatus) //< ---- added attribute informedStatus
{
firstName = informedFirstName;
lastName = informedLastName;
age = informedAge;
status = informedStatus;
}
String whatIsUp()
{
return "undetermined";
}
String getName()
{
return firstName +" "+lastName;
}
String getAge()
{
String str = String.valueOf(age);
return str;
}
String getStatus(){
return status;
}
String getInfo()
{
return ("Name = "+ getName() + " age="+ getAge()) + getStatus();
}
}
学生クラス:
class student extends person
{
String status;
student(String informedFirstName, String informedLastName, int informedAge, String informedStatus)
{
super(informedFirstName, informedLastName, informedAge, informedStatus);
if (age <= 25) status = informedStatus = "Traditional";
else status = informedStatus = "Non-Traditional";
}
String whatIsUp()
{
int n = 0;
String b = "...";
n = (int) (Math.random()*2);
if (n == 0) b = "reading";
if (n == 1) b = "talking";
return b;
}
String getStatus()
{
return " Status = " + status;
}
}
教授クラス:
class professor extends person
{
String status;
professor(String informedFirstName, String informedLastName, int informedAge, String informedStatus)
{
super(informedFirstName, informedLastName, informedAge, informedStatus);
status = informedStatus = "Computer Science";
}
String whatIsUp()
{
int n = 0;
String b = "...";
n = (int) (Math.random()*2);
if (n == 0) b = "reading";
if (n == 1) b = "talking";
return b;
}
String getStatus()
{
return " Degree = " + status;
}
}
TAクラス:
class TA extends person
{
String status;
TA (String informedFirstName, String informedLastName, int informedAge, String informedStatus)
{
super(informedFirstName, informedLastName, informedAge, informedStatus);
status = informedStatus = "Excellent";
}
String whatIsUp()
{
int n = 0;
String b = "...";
n = (int) (Math.random()*2);
if (n == 0) b = "reading";
if (n == 1) b = "talking";
return b;
}
String getStatus()
{
return " Communication Skills = " + status;
}
}
すべてのコードで申し訳ありませんが、助けていただければ幸いです。