Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote