Méthode copie d'instance de classe
Bonjour,
J'ai pris pour habitude d'ajouter une méthode self renvoyant l'instance de la classe, mais est-il facilement possible implémenter une méthode de copie (ou plus exactement un constructeur de copie - de ce que je sais, c'est courant en C++) ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| '
Public Property Get self() As clsXXX 'une fonction est peut-être plus appropriée d'ailleurs
Set self = Me
End Property
'..
'
Public Sub initialize(ByVal val As Variant, ByRef obj As Object) 'pour infos, me permet d'instancier mes classes avec des arguments (factory)
End Sub
'
Public Function copy() As clsXXX 'une fonction est peut-être plus appropriée d'ailleurs
' Set copy = ByVal Me 'bien sûr, ça ne fonctionne pas, ça aurait été bien trop simple...
End Function |
Peut-être tout simplement, utiliser une procédure générique telle que (l'idée m'est juste venu, je n'ai pas encore testé) :
Code:
1 2 3 4 5
| Public Function copy(ByVal obj As Object) As Object
Set copy = obj
End Function |
Je pense que c'est quand même peine perdue d'implémenter la méthode dans la classe elle-même, car je pense que ça passerait par une méthode spéciale telle que Class_Initialize ou Class_Terminate, mais avez-vous d'autres idées ?
Merci par avance ! ;)