constructeur de recopie??

constructeur de recopie?? - Java - Programmation

Marsh Posté le 11-01-2013 à 13:24:58    

vous pouvez me dire ce que c'est un constructeur de recopie SVP?

Reply

Marsh Posté le 11-01-2013 à 13:24:58   

Reply

Marsh Posté le 11-01-2013 à 13:43:06    

C'est un constructeur qui prend pour paramètre une instance de la classe.

 

Il est appelé dans ce cas :

Code :
  1. MaClass A,B;
  2. A = B; // On appelle MaClass::Constructeur(B) sur A
 

Ou alors, si tu fais MaClass B(A);

 

edit : Et au passage, une recherche sur google aurait très bien répondu à ta question :jap:


Message édité par Terminapor le 11-01-2013 à 13:43:35

---------------
Perhaps you don't deserve to breathe
Reply

Marsh Posté le 11-01-2013 à 13:51:33    

Je sais pas si l'auteur s'est trompé de catégorie ou s'il mélange des choses, mais le constructeur de recopie, c'est un concept lié au C++, ça n'existe pas en Java.


---------------
Are you two fucking? Are you serious? Right in front of my salad?!
Reply

Marsh Posté le 11-01-2013 à 16:50:22    

Si, ça existe en java et c'est une alternative à l'implémentation de Cloneable.
 

Code :
  1. public class MonBean {
  2.   private int n;
  3.   private String s;
  4.   public MonBean(final MonBean mb) {
  5.     this.n = mb.n;
  6.     this.s = mb.s;
  7.   }
  8. }


 

Reply

Marsh Posté le 11-01-2013 à 17:09:05    

Évidemment qu'on peut écrire manuellement l'équivalent en Java (même si j'ai du mal à voir l'intérêt par rapport à Cloneable, qui est beaucoup plus explicite)
 
Quand je dis que ça n'existe pas en Java, c'est le concept d'un constructeur spécial, qui a une signification particulière dans la sémantique du langage (par exemple : il pourra être appelé implicitement, comme dans l'exemple de code donné par Terminapor)


---------------
Are you two fucking? Are you serious? Right in front of my salad?!
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed