2010-07-05 3 views
4
Dollar dollar= (Dollar) object; 

Qu'est-ce que cet extrait de code fait? Est-ce même Java? Ou Smalltalk? Je l'ai trouvé dans TDD, qui je pense a été écrit avec Smalltalk à l'esprit.Dollars dollar = (Dollar) objet; Qu'est-ce que ça fait?

+0

Pour moi, TDD est l'acronyme de «Test Driven Design» - ce concept ne devrait pas être lié à un certain langage de programmation ... ou existe-t-il une autre explication pour ces trois lettres? –

+0

Ouais, Test Driven Development :) C'est juste que je suis juste un débutant, et essayer d'apprendre les choses de la bonne façon, au lieu d'apprendre, puis désapprendre des choses. Vous avez raison de dire que cela ne devrait pas être lié à une langue particulière. Mais cette ligne particulière m'a bloqué, et d'où la question! – Kaustubh

Répondre

9

Cela pourrait être Java. Il fondamentalement jette un objet de type générique (peut-être juste Object) à un objet Dollar.

Exemple:

Object object = ObjectFactory.getObject(); // Gets object 
Dollar dollar = (Dollar) object; // Cast to Dollar object, will throw an exception 
           // if this isn't possible 
dollar.dollarMethod(); // I can now call Dollar methods 
4

Il crée une nouvelle variable de dollar de classe, avec le dollar nom. Ensuite, il attribue une valeur à cette variable en convertissant en dollar une variable nommée objet. C'est un code Java valide, à condition qu'il y ait une classe nommée Dollar. Mais si l'objet nommé variable n'est pas de la classe Dollar, il peut lancer une exception ClassCastException.

+3

Ce n'est pas la ** variable ** qui doit être de la classe Dollar; le ** instance ** stocké dans cette variable doit être une instance de Dollar (ou d'une sous-classe de Dollar) –

0

cela fait en fait le type générique (Object) au type Dollar.

Questions connexes