我有一个任务,我必须显示一个类的所有属性。
我的问题是我可以做些什么来使代码工作而不必向 person 对象添加额外的属性?
我让代码可以工作,但显然我不应该对原始的person类进行任何更改。这是:
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;
}
}
抱歉所有代码,非常感谢任何帮助。