Skip to main content
deleted 52 characters in body; edited title
Source Link
Jamal
  • 35.2k
  • 13
  • 134
  • 238

Simple Object Oriented Designobject oriented design for a Patientpatient system

I want to model a this scenario in Object Oriented Languageobject oriented language:

  • A hospital has number of patients
  • A patient can have zero or more Medical Conditionmedical conditions
  • A medical condition is identified by name and date

I came up with this basic java code

Please review my code and tell me:

  1. What can I do to incorporate Object Orientedobject oriented fundamentals like reuse,extensibility.reusability and extensibility?
  2. Do I need to implement equalsan equals method in MedicalConditionthe MedicalCondition class?
  3. Do I need to initialize all the instance variables in constructor?
import java.util.Date;
import java.util.*;
import java.text.*;
class Patient
{
    private String name;
    private String streetAdress1;
    private String phoneNumber;
    private String streetAdress2;
    private String zipCode; //I really dont need to preform any numerical operations.
    private List<MedicalCondition> mcList;
    
    public Patient(String name) //Public for constructor.
    {
        this.name = name;
        mcList = new ArrayList<MedicalCondition>();
    }  
    
    public void setName(String name)
    {
        this.name = name;
    }
    
    public String getName()
    {
        return name;
    }

    
    //All setter and getters
    
    public void addMedicalCondition(MedicalCondition mc)
    {
        mcList.add(mc);
    }
    
    public void deleteMedicalCondition(MedicalCondition mc)
    {
        mcList.remove(mc);
    }
    
    public List<MedicalCondition> getMedicalConditions()
    {
        return mcList;
    }
    
    public String toString(){
        return name;
    }
 }   
    
class MedicalCondition
{
      private String nameOfCondition;
      Date dateOfReport;
      
      public MedicalCondition(String nameOfCondition,Date dateOfReport)
      {
          this.nameOfCondition = nameOfCondition;
          this.dateOfReport = dateOfReport;
      }
      
      public String toString()
      {
          return nameOfCondition;
      }
 }
 
 
 public class HelloWorld{

     public static void main(String args[]) throws ParseException{
        Patient p1 = new Patient("Mike");
        
        DateFormat format = new SimpleDateFormat("mm/dd/yyyy");
        MedicalCondition mc1 = new MedicalCondition("Diabetes",format.parse("03/23/2000"));
        p1.addMedicalCondition(mc1);
        
        System.out.println(p1);
        for(MedicalCondition mc : p1.getMedicalConditions())
        {
            System.out.println(mc);
        }
        
        p1.deleteMedicalCondition(mc1); //Delete the condition
        
         System.out.println(p1);
        for(MedicalCondition mc : p1.getMedicalConditions())
        {
            System.out.println(mc);
        }
     }
}

         

Simple Object Oriented Design for a Patient system

I want to model a this scenario in Object Oriented Language

  • A hospital has number of patients
  • A patient can have zero or more Medical Condition
  • A medical condition is identified by name and date

I came up with this basic java code

Please review my code and tell me

  1. What can I do to incorporate Object Oriented fundamentals like reuse,extensibility.
  2. Do I need to implement equals method in MedicalCondition class?
  3. Do I need to initialize all the instance variables in constructor?
import java.util.Date;
import java.util.*;
import java.text.*;
class Patient
{
    private String name;
    private String streetAdress1;
    private String phoneNumber;
    private String streetAdress2;
    private String zipCode; //I really dont need to preform any numerical operations.
    private List<MedicalCondition> mcList;
    
    public Patient(String name) //Public for constructor.
    {
        this.name = name;
        mcList = new ArrayList<MedicalCondition>();
    }  
    
    public void setName(String name)
    {
        this.name = name;
    }
    
    public String getName()
    {
        return name;
    }

    
    //All setter and getters
    
    public void addMedicalCondition(MedicalCondition mc)
    {
        mcList.add(mc);
    }
    
    public void deleteMedicalCondition(MedicalCondition mc)
    {
        mcList.remove(mc);
    }
    
    public List<MedicalCondition> getMedicalConditions()
    {
        return mcList;
    }
    
    public String toString(){
        return name;
    }
 }   
    
class MedicalCondition
{
      private String nameOfCondition;
      Date dateOfReport;
      
      public MedicalCondition(String nameOfCondition,Date dateOfReport)
      {
          this.nameOfCondition = nameOfCondition;
          this.dateOfReport = dateOfReport;
      }
      
      public String toString()
      {
          return nameOfCondition;
      }
 }
 
 
 public class HelloWorld{

     public static void main(String args[]) throws ParseException{
        Patient p1 = new Patient("Mike");
        
        DateFormat format = new SimpleDateFormat("mm/dd/yyyy");
        MedicalCondition mc1 = new MedicalCondition("Diabetes",format.parse("03/23/2000"));
        p1.addMedicalCondition(mc1);
        
        System.out.println(p1);
        for(MedicalCondition mc : p1.getMedicalConditions())
        {
            System.out.println(mc);
        }
        
        p1.deleteMedicalCondition(mc1); //Delete the condition
        
         System.out.println(p1);
        for(MedicalCondition mc : p1.getMedicalConditions())
        {
            System.out.println(mc);
        }
     }
}

         

Simple object oriented design for a patient system

I want to model this scenario in object oriented language:

  • A hospital has number of patients
  • A patient can have zero or more medical conditions
  • A medical condition is identified by name and date

Please review my code and tell me:

  1. What can I do to incorporate object oriented fundamentals like reusability and extensibility?
  2. Do I need to implement an equals method in the MedicalCondition class?
  3. Do I need to initialize all the instance variables in constructor?
import java.util.Date;
import java.util.*;
import java.text.*;
class Patient
{
    private String name;
    private String streetAdress1;
    private String phoneNumber;
    private String streetAdress2;
    private String zipCode; //I really dont need to preform any numerical operations.
    private List<MedicalCondition> mcList;
    
    public Patient(String name) //Public for constructor.
    {
        this.name = name;
        mcList = new ArrayList<MedicalCondition>();
    }  
    
    public void setName(String name)
    {
        this.name = name;
    }
    
    public String getName()
    {
        return name;
    }

    
    //All setter and getters
    
    public void addMedicalCondition(MedicalCondition mc)
    {
        mcList.add(mc);
    }
    
    public void deleteMedicalCondition(MedicalCondition mc)
    {
        mcList.remove(mc);
    }
    
    public List<MedicalCondition> getMedicalConditions()
    {
        return mcList;
    }
    
    public String toString(){
        return name;
    }
 }   
    
class MedicalCondition
{
      private String nameOfCondition;
      Date dateOfReport;
      
      public MedicalCondition(String nameOfCondition,Date dateOfReport)
      {
          this.nameOfCondition = nameOfCondition;
          this.dateOfReport = dateOfReport;
      }
      
      public String toString()
      {
          return nameOfCondition;
      }
 }
 
 
 public class HelloWorld{

     public static void main(String args[]) throws ParseException{
        Patient p1 = new Patient("Mike");
        
        DateFormat format = new SimpleDateFormat("mm/dd/yyyy");
        MedicalCondition mc1 = new MedicalCondition("Diabetes",format.parse("03/23/2000"));
        p1.addMedicalCondition(mc1);
        
        System.out.println(p1);
        for(MedicalCondition mc : p1.getMedicalConditions())
        {
            System.out.println(mc);
        }
        
        p1.deleteMedicalCondition(mc1); //Delete the condition
        
         System.out.println(p1);
        for(MedicalCondition mc : p1.getMedicalConditions())
        {
            System.out.println(mc);
        }
     }
}
added 57 characters in body
Source Link
Simon Forsberg
  • 59.8k
  • 9
  • 158
  • 312

I want to model a this scenario in Object Oriented Language
A hospital has number of patients
A patient can have zero or more Medical Condition
A medical condition is identified by name and date

  • A hospital has number of patients
  • A patient can have zero or more Medical Condition
  • A medical condition is identified by name and date
  1. What can I do to incorporate Object Oriented fundamentals like reuse,extensibility.

    What can I do to incorporate Object Oriented fundamentals like reuse,extensibility.
  2. Do I need to implement equals method in MedicalCondition class?

    Do I need to implement equals method in MedicalCondition class?
  3. Do I need to initialize all the instance variables in constructor?

    import java.util.Date; import java.util.; import java.text.; class Patient { private String name; private String streetAdress1; private String phoneNumber; private String streetAdress2; private String zipCode; //I really dont need to preform any numerical operations. private List mcList;

     public Patient(String name) //Public for constructor.
     {
         this.name = name;
         mcList = new ArrayList<MedicalCondition>();
     }  
    
     public void setName(String name)
     {
         this.name = name;
     }
    
     public String getName()
     {
         return name;
     }
    
    
     //All setter and getters
    
     public void addMedicalCondition(MedicalCondition mc)
     {
         mcList.add(mc);
     }
    
     public void deleteMedicalCondition(MedicalCondition mc)
     {
         mcList.remove(mc);
     }
    
     public List<MedicalCondition> getMedicalConditions()
     {
         return mcList;
     }
    
     public String toString(){
         return name;
     }
    

    }

    class MedicalCondition { private String nameOfCondition; Date dateOfReport;

       public MedicalCondition(String nameOfCondition,Date dateOfReport)
       {
           this.nameOfCondition = nameOfCondition;
           this.dateOfReport = dateOfReport;
       }
    
       public String toString()
       {
           return nameOfCondition;
       }
    

    }

    public class HelloWorld{

      public static void main(String args[]) throws ParseException{
         Patient p1 = new Patient("Mike");
    
         DateFormat format = new SimpleDateFormat("mm/dd/yyyy");
         MedicalCondition mc1 = new MedicalCondition("Diabetes",format.parse("03/23/2000"));
         p1.addMedicalCondition(mc1);
    
         System.out.println(p1);
         for(MedicalCondition mc : p1.getMedicalConditions())
         {
             System.out.println(mc);
         }
    
         p1.deleteMedicalCondition(mc1); //Delete the condition
    
          System.out.println(p1);
         for(MedicalCondition mc : p1.getMedicalConditions())
         {
             System.out.println(mc);
         }
      }
    

    }

    Do I need to initialize all the instance variables in constructor?
import java.util.Date;
import java.util.*;
import java.text.*;
class Patient
{
    private String name;
    private String streetAdress1;
    private String phoneNumber;
    private String streetAdress2;
    private String zipCode; //I really dont need to preform any numerical operations.
    private List<MedicalCondition> mcList;
    
    public Patient(String name) //Public for constructor.
    {
        this.name = name;
        mcList = new ArrayList<MedicalCondition>();
    }  
    
    public void setName(String name)
    {
        this.name = name;
    }
    
    public String getName()
    {
        return name;
    }

    
    //All setter and getters
    
    public void addMedicalCondition(MedicalCondition mc)
    {
        mcList.add(mc);
    }
    
    public void deleteMedicalCondition(MedicalCondition mc)
    {
        mcList.remove(mc);
    }
    
    public List<MedicalCondition> getMedicalConditions()
    {
        return mcList;
    }
    
    public String toString(){
        return name;
    }
 }   
    
class MedicalCondition
{
      private String nameOfCondition;
      Date dateOfReport;
      
      public MedicalCondition(String nameOfCondition,Date dateOfReport)
      {
          this.nameOfCondition = nameOfCondition;
          this.dateOfReport = dateOfReport;
      }
      
      public String toString()
      {
          return nameOfCondition;
      }
 }
 
 
 public class HelloWorld{

     public static void main(String args[]) throws ParseException{
        Patient p1 = new Patient("Mike");
        
        DateFormat format = new SimpleDateFormat("mm/dd/yyyy");
        MedicalCondition mc1 = new MedicalCondition("Diabetes",format.parse("03/23/2000"));
        p1.addMedicalCondition(mc1);
        
        System.out.println(p1);
        for(MedicalCondition mc : p1.getMedicalConditions())
        {
            System.out.println(mc);
        }
        
        p1.deleteMedicalCondition(mc1); //Delete the condition
        
         System.out.println(p1);
        for(MedicalCondition mc : p1.getMedicalConditions())
        {
            System.out.println(mc);
        }
     }
}

         

I want to model a this scenario in Object Oriented Language
A hospital has number of patients
A patient can have zero or more Medical Condition
A medical condition is identified by name and date

  1. What can I do to incorporate Object Oriented fundamentals like reuse,extensibility.

  2. Do I need to implement equals method in MedicalCondition class?

  3. Do I need to initialize all the instance variables in constructor?

    import java.util.Date; import java.util.; import java.text.; class Patient { private String name; private String streetAdress1; private String phoneNumber; private String streetAdress2; private String zipCode; //I really dont need to preform any numerical operations. private List mcList;

     public Patient(String name) //Public for constructor.
     {
         this.name = name;
         mcList = new ArrayList<MedicalCondition>();
     }  
    
     public void setName(String name)
     {
         this.name = name;
     }
    
     public String getName()
     {
         return name;
     }
    
    
     //All setter and getters
    
     public void addMedicalCondition(MedicalCondition mc)
     {
         mcList.add(mc);
     }
    
     public void deleteMedicalCondition(MedicalCondition mc)
     {
         mcList.remove(mc);
     }
    
     public List<MedicalCondition> getMedicalConditions()
     {
         return mcList;
     }
    
     public String toString(){
         return name;
     }
    

    }

    class MedicalCondition { private String nameOfCondition; Date dateOfReport;

       public MedicalCondition(String nameOfCondition,Date dateOfReport)
       {
           this.nameOfCondition = nameOfCondition;
           this.dateOfReport = dateOfReport;
       }
    
       public String toString()
       {
           return nameOfCondition;
       }
    

    }

    public class HelloWorld{

      public static void main(String args[]) throws ParseException{
         Patient p1 = new Patient("Mike");
    
         DateFormat format = new SimpleDateFormat("mm/dd/yyyy");
         MedicalCondition mc1 = new MedicalCondition("Diabetes",format.parse("03/23/2000"));
         p1.addMedicalCondition(mc1);
    
         System.out.println(p1);
         for(MedicalCondition mc : p1.getMedicalConditions())
         {
             System.out.println(mc);
         }
    
         p1.deleteMedicalCondition(mc1); //Delete the condition
    
          System.out.println(p1);
         for(MedicalCondition mc : p1.getMedicalConditions())
         {
             System.out.println(mc);
         }
      }
    

    }

I want to model a this scenario in Object Oriented Language

  • A hospital has number of patients
  • A patient can have zero or more Medical Condition
  • A medical condition is identified by name and date
  1. What can I do to incorporate Object Oriented fundamentals like reuse,extensibility.
  2. Do I need to implement equals method in MedicalCondition class?
  3. Do I need to initialize all the instance variables in constructor?
import java.util.Date;
import java.util.*;
import java.text.*;
class Patient
{
    private String name;
    private String streetAdress1;
    private String phoneNumber;
    private String streetAdress2;
    private String zipCode; //I really dont need to preform any numerical operations.
    private List<MedicalCondition> mcList;
    
    public Patient(String name) //Public for constructor.
    {
        this.name = name;
        mcList = new ArrayList<MedicalCondition>();
    }  
    
    public void setName(String name)
    {
        this.name = name;
    }
    
    public String getName()
    {
        return name;
    }

    
    //All setter and getters
    
    public void addMedicalCondition(MedicalCondition mc)
    {
        mcList.add(mc);
    }
    
    public void deleteMedicalCondition(MedicalCondition mc)
    {
        mcList.remove(mc);
    }
    
    public List<MedicalCondition> getMedicalConditions()
    {
        return mcList;
    }
    
    public String toString(){
        return name;
    }
 }   
    
class MedicalCondition
{
      private String nameOfCondition;
      Date dateOfReport;
      
      public MedicalCondition(String nameOfCondition,Date dateOfReport)
      {
          this.nameOfCondition = nameOfCondition;
          this.dateOfReport = dateOfReport;
      }
      
      public String toString()
      {
          return nameOfCondition;
      }
 }
 
 
 public class HelloWorld{

     public static void main(String args[]) throws ParseException{
        Patient p1 = new Patient("Mike");
        
        DateFormat format = new SimpleDateFormat("mm/dd/yyyy");
        MedicalCondition mc1 = new MedicalCondition("Diabetes",format.parse("03/23/2000"));
        p1.addMedicalCondition(mc1);
        
        System.out.println(p1);
        for(MedicalCondition mc : p1.getMedicalConditions())
        {
            System.out.println(mc);
        }
        
        p1.deleteMedicalCondition(mc1); //Delete the condition
        
         System.out.println(p1);
        for(MedicalCondition mc : p1.getMedicalConditions())
        {
            System.out.println(mc);
        }
     }
}

         
Source Link
mc20
  • 801
  • 1
  • 9
  • 19

Simple Object Oriented Design for a Patient system

I want to model a this scenario in Object Oriented Language
A hospital has number of patients
A patient can have zero or more Medical Condition
A medical condition is identified by name and date

I came up with this basic java code

Please review my code and tell me

  1. What can I do to incorporate Object Oriented fundamentals like reuse,extensibility.

  2. Do I need to implement equals method in MedicalCondition class?

  3. Do I need to initialize all the instance variables in constructor?

    import java.util.Date; import java.util.; import java.text.; class Patient { private String name; private String streetAdress1; private String phoneNumber; private String streetAdress2; private String zipCode; //I really dont need to preform any numerical operations. private List mcList;

     public Patient(String name) //Public for constructor.
     {
         this.name = name;
         mcList = new ArrayList<MedicalCondition>();
     }  
    
     public void setName(String name)
     {
         this.name = name;
     }
    
     public String getName()
     {
         return name;
     }
    
    
     //All setter and getters
    
     public void addMedicalCondition(MedicalCondition mc)
     {
         mcList.add(mc);
     }
    
     public void deleteMedicalCondition(MedicalCondition mc)
     {
         mcList.remove(mc);
     }
    
     public List<MedicalCondition> getMedicalConditions()
     {
         return mcList;
     }
    
     public String toString(){
         return name;
     }
    

    }

    class MedicalCondition { private String nameOfCondition; Date dateOfReport;

       public MedicalCondition(String nameOfCondition,Date dateOfReport)
       {
           this.nameOfCondition = nameOfCondition;
           this.dateOfReport = dateOfReport;
       }
    
       public String toString()
       {
           return nameOfCondition;
       }
    

    }

    public class HelloWorld{

      public static void main(String args[]) throws ParseException{
         Patient p1 = new Patient("Mike");
    
         DateFormat format = new SimpleDateFormat("mm/dd/yyyy");
         MedicalCondition mc1 = new MedicalCondition("Diabetes",format.parse("03/23/2000"));
         p1.addMedicalCondition(mc1);
    
         System.out.println(p1);
         for(MedicalCondition mc : p1.getMedicalConditions())
         {
             System.out.println(mc);
         }
    
         p1.deleteMedicalCondition(mc1); //Delete the condition
    
          System.out.println(p1);
         for(MedicalCondition mc : p1.getMedicalConditions())
         {
             System.out.println(mc);
         }
      }
    

    }