comment puis-je passer la sous-classe des paramètres dans la super-classe des variables privées?

Je suis confus sur la façon d'obtenir les paramètres de nouvelles instances de l'objet également de circuler dans la classe super pour mettre à jour les champs privés de la classe super.

Donc je suis en avance de la classe Java et j'ai des devoirs qui nécessite une "Personne" Super Classe et un "Étudiant" sous-classe qui étend la Personne.

La Personne classe stocke le nom de l'étudiant, MAIS il est l'Élève de la classe constructeur qui accepte le nom de la Personne.

n'assumons aucune méthode en Personne à faire une variable méthode de mise à jour...comme subClassVar = setSuperClassVar();

EX:

public class Person
{
     private String name; //holds the name of the person
     private boolean mood; //holds the mood happy or sad for the person
     private int dollars; //holds their bank account balance
}

class Student extends Person //I also have a tutor class that will extend Person as well
{
     private String degreeMajor //holds the var for the student's major they have for their degree

     Public Student(String startName, int startDollars, boolean startMood, String major)
     {
          degreeMajor = major;  //easily passed to the Student class
          name = startName; //can't pass cause private in super class?
          mood = startMood; //can't pass cause private in super class?
          dollars = startDollars; //see above comments
          //or I can try to pass vars as below as alternate solution...
          setName() = startName; //setName() would be a setter method in the superclass to...
                                 //...update the name var in the Person Superclass. Possible?
          setMood() = startMood; //as above
          //These methods do not yet exist and I am only semi confident on their "exact"...
          //...coding to make them work but I think I could manage.
     }   
}

Les instructions pour les devoirs étaient un peu vague en termes de combien d'évolution de la super-classe de Personne que je suis autorisé à faire donc si vous croyons tous un bon et solide industrie de la solution retenue consiste à changer la superclasse je vais le faire.

Quelques exemples que je vois serait de rendre le privé vars dans la classe Personne "protégée" ou pour ajouter setMethods() de la classe personne et ensuite les appeler dans la sous-classe.

Je suis aussi ouverte à un concept général de l'éducation sur la façon de passer la sous-classe constructeur de paramètres à une super classe...et si possible de le faire directement dans le constructeur portion de code.

Enfin, j'ai fait une recherche, mais la plupart des questions similaires ont été vraiment spécifique et complexe de code....Je ne pourrais pas trouver quelque chose tout droit vers l'avant comme mon exemple ci-dessus...également pour quelque raison, le post sur le forum n'a pas à s'agglutiner ensemble de mon code, donc désolé pour la confusion de lire ci-dessus.

Merci à tous.

  • quelle est la super-classe (Person) constructeur ressembler? Ne Person ont des méthodes pour l'établissement de ces private champs?
InformationsquelleAutor reeltempting | 2012-10-18