Je regardais ce lien, mais ne comprenait pas vraiment ce qu'il faut entendre par clonecopie de l'héritage constructeur
Quoi qu'il en soit sur ma question, j'ai donc une classe qui hérite de deux attributs d'une autre classe, la classe elle hérite de set/get et d'un constructeur de copie.
Je veux mettre en œuvre un constructeur de copie dans la classe héritant (ne pas tenir compte des commentaires dans le code)
public class Instructor extends Person{
//officeNumber represents the office number where instructors can be found
private String officeNumber;
//constructor allows user to define first and last name and office number in demo
public Instructor(String fName, String lName, String officeNumber) {
super(fName, lName);
this.officeNumber=officeNumber;
}
}
Je veux mettre le constructeur de copie ici et jusqu'à présent, tout ce que je peux faire est de cela, mais je peux » t juste passer dans un objet dans un autre constructeur dans une classe de démonstration, je dois inclure le nom complet
public Instructor(String fName, String lName,Instructor object2) {
super(fName,lName);
officeNumber=object2.officeNumber;
}
//get method for field
public String getOfficeNumber() {
return officeNumber;
}
}
Voici la classe dont elle hérite si c'est une aide
public class Person {
//firstName represents the first name of a person
private String firstName;
//lastName represents the last name of a person
private String lastName;
//constructor allows programmer to define first and last name of object in demo
public Person(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
//copy constructor
public Person(Person object2) {
firstName = object2.firstName;
lastName = object2.lastName;
}
//get methods for fields
public String getFirstName() {
return firstName;
}
public String getLastName() {
return lastName;
}
}
Il semblerait que vous ne compreniez pas la portée variable, les objets, l'héritage ou l'utilisation des méthodes. Votre classe de base vous donne des getters pour 'firstName' et' lastName'. Je suggère fortement de commencer par un bon livre de débutant sur Java ou les tutoriels Oracle Java. –
Si quelque chose n'est pas clair, il suffit de m'envoyer un commentaire et je vais essayer de réparer. – gucci
Oui je sais, je ne peux pas dire fName = object2.fName parce qu'ils ne sont pas de la même méthode, mais précédemment je n'ai pas utilisé l'héritage et ai eu un constructeur de copie pour cette classe et voudrait rétablir cela tout en gardant l'ensemble chose de l'héritage va – gucci