Création d'objets - 1

« Coucou, revoilà ta prof préférée. Tu progresses si vite que j'ai décidé de te parler des objets et de la façon de travailler avec. »

« Pour créer un objet, tu dois saisir le mot-clé 'new', suivi du nom du type (le nom de la classe). Par exemple, supposons que nous avons une classe nommée 'Chat' : »

Code Description
Cat cat;
Déclare une variable de référence Chat nommée chat. La valeur de la variable chat est null.
new Cat();
Crée un objet Chat.
Cat cat = new Cat();
Crée une variable de référence de Chat nommée chat.
Crée un nouvel objet Chat. Affecte une référence à l'objet nouvellement créé à la variable chat.
Cat kitty = new Cat();
Cat smokey = new Cat();
Deux objets sont créés. Leurs références sont affectées à deux variables différentes.
Cat kitty = new Cat();
Cat smokey = new Cat();

smokey = kitty;
Deux objets sont créés. Leurs références sont affectées à deux variables différentes.

Nous définissons ensuite la variable felix sur une référence à l'objet référencé par la variable minou. Les deux variables font maintenant référence au premier objet créé.
(Comme le second objet n'est plus référencé nulle part, il sera récupéré par le ramasse-miettes plus tard)

Cat kitty = new Cat();
Cat smokey = null;

smokey = kitty;

kitty = null;
Un objet Chat est créé, et nous affectons une référence vers lui à la première variable (minou). La deuxième variable (felix) stocke une référence vide (null).

Les deux variables font référence au même objet.

Maintenant, seul felix fait référence à un objet, et pas minou.

1
Mission
Syntaxe Java,  niveau 2leçon 3
Bloqué
Un chat ne suffit pas
Comme tu le sais, Rome ne s'est pas remplie de chats en un jour. Mais les objets peuvent être créés rapidement. Inaugurons un club d'amoureux des chatons : créons deux objets Chat et donnons-leur des noms. N'oublie pas que chaque chat est un individu, les noms de variable doivent donc être différents.

« Que se passerait-il si nous avions créé un objet et que nous n'avions pas enregistré sa référence dans une variable ? »

« Si nous créons un objet sans l'affecter à une variable, la machine Java le crée puis le déclare inutile. Après un certain temps, l'objet est supprimé par le ramasse-miettes. »

« Comment je fais pour jeter un objet dont je n'ai plus besoin ? »

« Tu n'as pas besoin de le faire. Dès qu'aucune variable ne référence un objet, il est marqué pour destruction par la machine Java la prochaine fois qu'elle passe le ramasse-miettes. »

Tant qu'il y a au moins une référence à un objet, il est considéré comme actif et n'est pas détruit. Si tu veux te débarrasser d'un objet avant, tu peux éliminer toutes ses références en affectant null à toutes les variables qui y font référence.

« Je vois. Par rapport aux deux ou trois dernières leçons, ça m'a l'air plutôt simple. »

« Diego a passé toute la nuit à te trouver des missions. Il a fait cet effort tout spécialement pour toi. Il a un gros sens de l'humour, tu sais ? »

1
Mission
Syntaxe Java,  niveau 2leçon 3
Bloqué
Médor, Praline et Rex
Si tu ouvres cette mission, tu verras qu'il existe déjà une classe Chien. Nous devons créer plusieurs chiens. Nous avons déjà inventé leurs histoires : leur apparence, leurs noms, etc. Mais pour cette mission, ce qui nous intéresse est de créer trois objets Chien et de les nommer « Médor », « Praline » et « Rex ».
1
Mission
Syntaxe Java,  niveau 2leçon 3
Bloqué
Réalité subjective
Un mauvais danseur peut trébucher sur ses propres pieds, et un programmeur peut être confus face à son langage de programmation. Une légende urbaine qui court parmi les jeunes programmeurs dit ceci : « Si tu codes mal, le grand méchant Java viendra dévorer ta mémoire ». Pourquoi tu n'afficherais pas ça sur la console ? Et n'oublie pas de protéger ta mémoire ! Elle n'est pas infinie.
1
Mission
Syntaxe Java,  niveau 2leçon 3
Bloqué
Saisie de code
Parfois, inutile de réfléchir, il suffit de le marteler ! Aussi paradoxal que cela puisse paraître, il arrive que tes doigts se « souviennent » mieux des choses que ton esprit conscient. C'est pourquoi la formation du centre secret CodeGym comprend parfois des tâches qui t'obligent à saisir le code. En saisissant le code, tu t'habitues à la syntaxe et tu gagnes un peu de matière noire. Et rien de mieux pour combattre la paresse !