0
votes

Différence entre stocker des références et des objets?

Quelle est la différence entre

players[0] = new Player("John");


2 commentaires

Il n'y a pas de différence à moins que vous ne souhaitiez utiliser l'objet du joueur plus loin dans la même portée de code.


Ils sont absolument les mêmes. Dans le premier, en cas d'utilisation ultérieure, vous pouvez utiliser la référence Player1, dans la seconde, vous devez accéder à l'élément de réseau.


3 Réponses :


0
votes

Vous voulez que cela veuille plus tard de modifier ou de référencer le joueur1 dans votre code et si vous ne souhaitez pas modifier ou nécessiter un joueur1 dans votre code, vous pouvez affecter directement le lecteur1 à zéro index

Et les deux sont une bonne pratique que votre utilisation.

  • Résumé
    1. approche Créez un pointeur sur le joueur1 qui peut être utilisé ultérieurement
    2. stockez directement dans un tableau sans avoir référence à Player1

0 commentaires

0
votes

Dans la première partie. Créez d'abord une nouvelle instance qui est stockée séparément dans une variable, pour l'attribuer ultérieurement sur la matrice.

la deuxième partie. La nouvelle instance est stockée directement sur le tableau.

Il n'y a pas mal sur le code.

À mon avis, la deuxième partie est meilleure que la première partie.


0 commentaires

0
votes

avec le premier, vous stockez une référence à lecteur 1 . Cela vous donne la flexibilité d'appeler toutes les méthodes stockées dans lecteur 1 avant de le référencer dans votre tableau. La deuxième option signifie simplement que l'objet ne réside que dans votre matrice et vous devrez donc appeler une méthode directement, telle que lecteur [0] .Run () . .

Comme pour quelle pratique est une meilleure pratique, cela dépend simplement de ce que vous avez l'intention de faire avec l'objet. Si vous devez le modifier avant de créer une référence dans un tableau, utilisez le premier extrait. Si vous avez simplement besoin de pour instancier un grand nombre d'objets de joueur, j'utiliserais simplement une boucle pour crée une gamme de joueurs directement.


0 commentaires