Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Débutant en train de se former

2 réponses
Avatar
Franck GILET
Bonjour à tous,


je suis en train d'apprendre C# avec le cours de Serge Tahé, et une chose
m'intrigue. J'ai le code suivant :
personne p1=new personne("Jean","Michelin",34);

personne p2=new personne(p1);

new personne(p1);


Pourquoi ce code ne génére-t-il pas d'erreur ??? les deux premières lignes,
pas de problème, mais la troisième ??? je crée une instance de ma classe
personne sans aucune déclaration préalable. Comment est référencé mon objet
en mémoire ???

Merci d'avance !

Franck

2 réponses

Avatar
balmeyer
Dans le 3ème cas, il me semble que tu créés un objet à la volée
mais celui-ci n'est effectivement pas référencé par une variable.
(mais j'ai plus d'expérience en Java).

Ce type de code peut servir par exemple si tout le code utile se trouve
dans le contructeur.

par exemple : classe "Alerte"

//constructeur :
public Alerte(){
//je créé un thread pour dire : "bonjour, il est 12h!"
...
//je démarre le thread
...
//A la fin du constructeur, l'objet à déjà fait son travail
}

dans ton code, tu écris : new Alerte(); et l'objet fait le travail
dans son coin avant de disparaitre.

Franchement, je ne sais pas si c'est un usage "propre", je l'ai
utilisé il y a fort longtemps, mais ce n'est plus dans mes habitudes.

En espérant que ça puisse t'aider...
Avatar
Franck GILET
Ok compris, effectivement si tu places le code dans le constructeur, ça peut
se justifier !

merci beaucoup !

"balmeyer" a écrit dans le message de news:

Dans le 3ème cas, il me semble que tu créés un objet à la volée
mais celui-ci n'est effectivement pas référencé par une variable.
(mais j'ai plus d'expérience en Java).

Ce type de code peut servir par exemple si tout le code utile se trouve
dans le contructeur.

par exemple : classe "Alerte"

//constructeur :
public Alerte(){
//je créé un thread pour dire : "bonjour, il est 12h!"
...
//je démarre le thread
...
//A la fin du constructeur, l'objet à déjà fait son travail
}

dans ton code, tu écris : new Alerte(); et l'objet fait le travail
dans son coin avant de disparaitre.

Franchement, je ne sais pas si c'est un usage "propre", je l'ai
utilisé il y a fort longtemps, mais ce n'est plus dans mes habitudes.

En espérant que ça puisse t'aider...