6.15 OOP Référence, Objet, Instance et Classe
Cliquez içi pour plus de vidéos disponibles sur notre chaine youtube !Bonjour a tous bienvenue dans ce cours consacrer au Référence, Objet, Instance et Classe on va utiliser l'analogie ... de la construction d'une maison pour comprendre les classes. Une classe est en fait le plan d'une maison, et en ... utilisant ce plan, nous pouvons construire autant de maisons que nous le souhaitons. Autant de maisons que l'on veut sur ... la base de ces plans. Chaque maison que vous construisez (en d'autres termes, que vous instanciez à l'aide de l'opérateur ... new) est un objet également appelé "instance". Chaque maison que vous construisez à une adresse (un emplacement physique). En d'autres ... termes, si vous voulez dire à quelqu'un où vous habitez, vous lui donnez votre adresse (peut-être écrite sur un morceau ... de papier). C'est ce qu'on appelle une référence. Vous pouvez copier cette référence autant de fois que vous le souhaitez, ... mais il n'y a toujours qu'une seule maison., nous copions le papier sur lequel se trouve l'adresse et non la ... maison elle-même. Nous pouvons transmettre des références comme paramètres aux constructeurs et aux méthodes. Allons un peu plus loin pour ... comprendre cela nous avons ici une classe Maison avec une variable d'instance (champ) couleur. Sur le côté droit, nous avons ... la classe Main avec la méthode main. Ce code crée des instances de la classe Maison, change la couleur ... et affiche le résultat. Voyons ce qui se passe lorsque ce code est exécuté. La ligne Maison maisonRouge = new ... Maison("Rouge") ; crée une nouvelle instance de la classe Maison.Souvenais vous que maison est un plan, et nous l'assignons à ... la variable maisonRouge. En d'autres termes, il s'agit d'une référence à l'objet en mémoire. J'espère que l'image de droite a ... maintenant un sens pour vous. La ligne suivante Maison autreMaison = maisonRouge ; crée une autre référence au même objet ... en mémoire. Ici, nous avons deux références qui pointent vers le même objet en mémoire. Il y a toujours un ... maison mais deux références à ce même objet. Ensuite, nous avons deux instructions println qui affiche la couleur de maisonRouge ... et celle de autreMaison. Les deux vont afficher "Rouge" puisque nous avons deux références au même objet. La ligne suivante ... appelle la méthode setCouleur et définit la couleur en vert. A gauche, vous pouvez voir que maisonRouge et autreMaison ont ... toutes deux la même couleur maintenant. Pourquoi ? Rappelez-vous que nous avons deux références qui pointent vers le même objet ... en mémoire. Lorsque nous changeons la couleur de l'une d'elles, les deux références pointent toujours vers le même objet. Dans ... notre exemple du monde réel, il n'y a toujours qu'une seule maison physique à cette seule adresse, même si nous ... avons écrit la même adresse sur deux morceaux de papier. Ici, nous avons deux instructions println qui affiche la ... couleur. Les deux affiche maintenant "vert" puisque nous avons toujours Deux références qui pointent vers le même objet en mémoire. Remarquez les flèches sur le côté gauche. maintenant , nous créons une nouvelle instance de la classe Maison dont la ... couleur est définie sur "Blanc". Maintenant, nous avons deux objets en mémoire mais nous avons trois références qui sont maisonRouge, ... autreMaison et maisonBleue. La variable (référence) maisonBleue pointe vers un objet différent en mémoire, mais maisonRouge et autreMaison pointent vers ... le même objet en mémoire. puis, nous attribuont maisonBleue à autreMaison. En d'autres termes, nous déréférençons autreMaison. Elle va ... maintenant pointer vers un objet différent en mémoire. Auparavant, il pointait vers une maison de couleur "Rouge", maintenant il pointe ... vers la maison de couleur "blanc". Dans ce scénario, nous avons toujours trois références et deux objets en mémoire, mais ... maisonRouge pointe vers un objet tandis que autreMaison et maisonBleue pointent vers le même objet en mémoire. Enfin, nous avons ... trois instructions println. La première affichera "Rouge" puisque la variable maisonRouge (référence) pointe vers l'objet en mémoire qui a la ... couleur "Rouge"., tandis que les deux lignes suivantes imprimeront "blanc" puisque autreMaison et maisonBlanc pointent sur le même objet en ... mémoire. J'espère vous que vous avez compris le concept dans le prochain nous allons approfondir la notion du mot-clé this ... et super