2017-10-05 52 views
-2

J'ai une classe appelée Employee et maintenant je veux écrire une classe appelée ReusaxCorp. Chaque employé de l'entreprise a une pièce d'identité, un nom et un salaire brut, qui peuvent être récupérés plus tard. La classe ReusaxCorp doit enregistrer et supprimer les employés (en commençant par aucun employé). Le problème que j'ai, c'est que je ne sais pas comment je peux enregistrer les employés et les stocker. En outre, on m'a dit d'utiliser le polymorphisme. Voici la classe des employés:Java "Enregistrement" (Stockage) et suppression "Employés"

public class Employee { 

    private String ID; 
    private String name; 
    private int grosssalary; 

    public Employee (String ID, String name, int grosssalary){ 
     this.ID = ID; 
     this.name = name; 
     this.grosssalary = grosssalary; 
    } 


    public int getGrosssalary() { 
     return grosssalary; 
    } 

    public void setGrosssalary(int grosssalary) { 
     this.grosssalary = grosssalary; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 
} 
+0

Il semble être devoirs – Ravi

+3

questions aux devoirs sont très bien, mais vous devez montrer votre att vide à une solution avec votre question. Si vous êtes complètement perdu, vous ne devriez pas poster de question ici - vous devriez contacter votre instructeur. –

Répondre

-1

La réponse de Griffin a les éléments pour vous aider à démarrer. Pour plus d'informations, vous devez également vous assurer que la classe Employee remplace correctement les méthodes equals() et hashCode(), afin que vous puissiez utiliser la méthode List.remove (Object) en toute sécurité. Par exemple, en utilisant l'ID comme clé pour l'unicité:

@Override 
public int hashCode() { 
    final int prime = 31; 
    int result = 1; 
    result = prime * result + ((ID == null) ? 0 : ID.hashCode()); 
    return result; 
} 


@Override 
public boolean equals(Object obj) { 
    if (this == obj) 
      return true; 
    if (obj == null) 
      return false; 
    if (getClass() != obj.getClass()) 
      return false; 
    Employee other = (Employee) obj; 
    if (ID == null) { 
      if (other.ID != null) 
        return false; 
    } else if (!ID.equals(other.ID)) 
      return false; 
    return true; 
} 

Maintenant, vous pouvez travailler autour de quelque chose comme ça dans votre classe ReusaxCorp:

private List<Employee> mEmployees = new ArrayList<Employee>() 

/** 
* Removes one employee from the corporation 
*/ 
public void remove(Employee employee) { 
    mEmployees.remove(employee); 
} 

/** 
* Inserts a new employee 
*/ 
public void insert(Employee employee) { 
    // can check for unicity (optional): 
    if (mEmployees.contains(employee)) throw new IllegalArgumentException("Employee already exists"); 

    mEmployees.add(employee); 
} 

Si vous ne connaissez l'ID de l'employé que vous voulez de supprimer, vous pouvez créer une nouvelle instance de l'employé pour correspondre à un existant:

// Thanks to redefinition of equals(), it will match and remove the correct employee without having to know the name or salary. 
corp.remove(new Employee(ID, "", 0)); 
0

Votre question est assez large mais Ill voir si je peux vous aider à démarrer ...

Vous pouvez aller sur les employés « enregistrement » en utilisant une liste de tableau d'objets employés.

//create array list 
ArrayList<Employee> employees = new ArrayList<Employee>(); 

Maintenant, si vous créez un employé ...

//create employee (of course enter whatever you need for your constructor) 
Employee employee = new Employee("sampleID", "sampleName", 0); 

Vous pouvez ajouter votre employé à la liste de tableau. Vous pouvez également supprimer des éléments de votre liste de tableaux à un index spécifique. Voici des exemples ...

//add employee 
employees.add(employee); 
//remove employee(would have initialize int index to which you want to remove) 
employees.remove(int index); 

lire sur les listes de tableaux pour voir ce que vous pouvez faire d'autre avec eux. Je suis sûr qu'ils ont ce que vous cherchez.