Implement a Java program that fulffils the requirements shown below. 1. Define a
ID: 3874052 • Letter: I
Question
Implement a Java program that fulffils the requirements shown below.
1. Define an abstract class named Philosopher that implements the setters, getters and the sleep() method for the interface shown below.
2. Two classes, Mathematician and Physicist extend Philosopher class and implement the unimplemented methods.
3. Construct an UML diagram that describes the relationship between the interface, abstract class, and concrete classes.
public interface Person{
void setFirstName(String firstName);
void setLastName(String lastName);
String getFirstName();
String getLastName();
void eat();
void think();
void sleep();
}
Explanation / Answer
public class Philosopher implements Person{
String firstName, lastName;
@Override
public void setFirstName(String firstName) {
// TODO Auto-generated method stub
this.firstName = firstName;
}
@Override
public void setLastName(String lastName) {
// TODO Auto-generated method stub
this.lastName = lastName;
}
@Override
public String getFirstName() {
// TODO Auto-generated method stub
return firstName;
}
@Override
public String getLastName() {
// TODO Auto-generated method stub
return lastName;
}
@Override
public void eat() {
// TODO Auto-generated method stub
System.out.println("Eat");
}
@Override
public void think() {
// TODO Auto-generated method stub
System.out.println("Think");
}
@Override
public void sleep() {
// TODO Auto-generated method stub
System.out.println("Sleep");
}
}
====================================================================
public class Physicist extends Philosopher{
@Override
public void setFirstName(String firstName) {
// TODO Auto-generated method stub
super.setFirstName(firstName);
}
@Override
public void setLastName(String lastName) {
// TODO Auto-generated method stub
super.setLastName(lastName);
}
@Override
public void sleep() {
// TODO Auto-generated method stub
System.out.println("Physicist sleep");
}
@Override
public void eat() {
// TODO Auto-generated method stub
System.out.println("Physicist Eats");
}
}
====================================================================
public class Mathematician extends Philosopher{
@Override
public void setFirstName(String firstName) {
// TODO Auto-generated method stub
super.setFirstName(firstName);
}
@Override
public void setLastName(String lastName) {
// TODO Auto-generated method stub
super.setLastName(lastName);
}
}
====================================================================
Thanks, let me know if there is any concern.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.