6.16 OOP This et Super

Cliquez içi pour plus de vidéos disponibles sur notre chaine youtube !

Bonjour bienvenue dans ce nouveau cours consacré au mots clé this et supe Le mot-clé super est utilisé pour accéder/appeler ... les membres de la classe mère c'est-à-dire les variables et méthodes. Le mot-clé this est utilisé pour appeler les membres ... de la classe actuelle (variables et méthodes). Le this est nécessaire lorsque nous avons un paramètre portant le même ... nom qu'une variable d'instance (champ). Nous pouvons les utiliser partout dans une classe, sauf dans les zones statiques (le bloc ... statique ou une méthode statique). Toute tentative de le faire conduira à des erreurs de compilation dans la suite du ... cours nous allons avoir plus d'informations sur les méthode ou les bloc statique Le mot-clé this est couramment utilisé avec les constructeurs et les setters, et éventuellement dans les getters. Dans l'exemple ci-dessous, ... nous utilisons le mot-clé this dans le constructeur et le setter puisqu'il y a un paramètre avec le même nom. Dans le getter, nous n'avons pas de paramètres, donc le mot-clé this est facultatif. Le mot-clé super est couramment utilisé dans le cas ou on veut appeler une méthodes, lorsque nous appelons une méthode ... portant le même nom dans la classe parente. Dans l'exemple ci-dessous, nous avons une méthode printMethod qui appelle super.printMethod.En d'autres ... termes, il appelle la méthode du même nom de la classe parente. Sans le mot-clé super dans ce cas, l'appel ... serait récursif. Ce qui signifie que la méthode s'appellerait elle-même pour toujours (ou jusqu'à ce que mémoire soit entièrement utilisée). C'est pourquoi le mot-clé super est nécessaire. En Java, nous avons l'appel this() et l'appel super() il ressemble à un appel de méthode ordinaire. Utilisez this() pour ... appeler un constructeur depuis un autre constructeur surchargé de la même classe. L'appel à this() ne peut être utilisé que ... dans un constructeur, et il doit être la première déclaration du constructeur. Il est utilisé avec le chaînage de constructeurs, ... c'est-à-dire lorsqu'un constructeur appelle un autre constructeur.et permet de réduire le code dupliqué. La seule façon d'appeler un constructeur parent ... est d'appeler super(). cette appelle, appel le constructeur de class parent. Le compilateur Java met un appel par défaut à super () si on ne l'ajoute pas, et c'est toujours le ... super qui est inséré par le compilateur (constructeur sans arguments).L'appel à super () doit être la première déclaration dans chaque ... constructeur.Même les classes abstraites ont des constructeurs, bien qu'on ne puisse jamais instancier une classe abstraite en utilisant le mot-clé ... new. Une classe abstraite est toujours une super classe, donc ses constructeurs s'exécutent lorsque quelqu'un crée une instance d'une sous-classe ... concrète. Un constructeur peut avoir un appel à super () ou this() mais jamais les deux ensemble. Dans cet exemple, nous avons trois constructeurs. Tous les trois constructeurs initialisent Les variables. Il y a du code répété ... dans chaque constructeur. Nous initialisons les variables dans chaque constructeur avec certaines valeurs par défaut. Vous ne devriez jamais écrire ... un constructeurs de cette façon. regardons la bonne façon d'utilisant un appel this(). nous avons trois Constructeurs. Le premier constructeur appelle deuxième constructeur et deuxième constructeur appelle le troisième le constructeur et le ... 3ème constructeur initialise les variables d'instance. Le 3ème constructeur fait tout le travail Peu importe le constructeur que nous appelons, ... les variables seront toujours initialisées dans le 3ème constructeur C'est ce qu'on appelle le chaînage de constructeurs, le dernier constructeur ... a la "responsabilité" d'initialiser les variables. On va effectuer une comparaison regarder les deux exemples sur l'écran maintenant. Donc, sur le côté gauche, encore une fois ... c'est le mauvais exemple de constructeurs sur le côté droit nous avons un bon exemple. Donc , le problème avec ... le côté gauche est le code dupliqué. donc les trois constructeurs de la partie gauche initialisent les variables. Comparez à ... la solution du côté droit. Là, nous avons un constructeur qui initialise les variables, et les autres constructeurs ne font ... que s'appeler les uns les autres, de sorte qu'en fin de compte, nous nous retrouvons dans le troisième constructeur. Et ... c'est encore le chaînage des constructeurs. Donc avec ce chaînage de constructeur. Nous pouvons défaire, éviter la duplication du code, ... et d'ailleurs le code du côté gauche peut conduire à de nombreux bugs et beaucoup plus de travail de votre ... part, et c'est aussi de mauvaises pratiques. Dans cet exemple, nous avons une classe Carre avec des variables x,y et une classe Rectangle qui étend Carre avec ... des variables hauteur et largeur Dans Rectangle, le premier constructeur, nous Appelons le deuxième constructeur Le deuxième constructeur appelle ... le constructeur parent avec les paramètres x et y Le constructeur parent initialisera les variables x,y tandis que le deuxième ... constructeur Rectangle initialise les variables de largeur et la hauteur Ici, nous avons à la fois super() et this() sont ... appelés, j'espère que vous avez compris de this() et super() et aussi comment les utiliser correctement dans notre programme dans ... le prochain cours nous allons continuer notre leçon et à la fin des cours nous allons effectuer un challenge.