/ / Comment un objet utilise-t-il une méthode d'un autre objet? [fermé] - java, objet, messages

Comment un objet utilise-t-il une méthode d'un autre objet? [fermé] - java, objet, messages

J'ai par exemple un class Doctor qui veut utiliser les services d'un class Postman.

A quoi ressemble-t-il en termes de code?

public class Doctor
{
...

void doCheckup(Patient);
void sendMail(){   // want to use services of a Postman here }
}

public class Postman
{
void sendMail(...){ ... }
}

Je pourrais définir Doctor::sendMail() comme

void sendMail()
{
Postman A = new Postman();
A.sendMail(...);
}

Est-ce exact?

Si tel est le cas, pourquoi un "docteur" devrait-il créer un "facteur"? Cela semble très loin des scénarios de la vie réelle. Est-ce ainsi que les messages sont partagés entre objets?

Réponses:

1 pour la réponse № 1

Si vous essayez de créer un "modèle réel", vous obtiendrez un objet global PostOffice, contenant de nombreux facteurs.

Le docteur peut faire partie d’un bureau de médecin ou d’un hôpital

Le docteur aurait une variable membre pointant vers HIS Postman

Doctor.Postman = aPostmanObject;

Il laisserait ensuite le facteur faire le travail.

Doctor.Postman.SendMail();

En supposant que vous ayez créé "SendMail" comme méthode publique de Postman (ce qui serait le cas car il le fait en tant que service public)


2 pour la réponse № 2

Une façon plus idiomatique serait d’avoir quelque chose comme:

void sendMail(Postman postman) {
postman.sendMail(...);

Ne créez pas l’autre objet à l’intérieur du premier.

Sur un sidenote, Doctor::sendMail est la syntaxe C ++. En Java, il n'y a pas ::