C'est une très belle vidéo et vraiment, très clair. J'ai pu facilement apprendre avec ces vidéos puis ensuite fait quelques exercices pour mieux comprendre. En tout cas, mercii et un petit ajout aussi, le Tigre feule :)
Merci Jason pour tes cours sur le Java j'aime enormément ta chaine le cours sur Java d'openclassrooms n'es pas explicite du tout du coup j'avais du mal à cerner les concepts heritsge,Classse Abstraite,et le polymorphisme. merci pour ton soutien je tiens à te demandé est-ce qu'il est important de bien comprendre la notion d'utilisation de la Classe Objet de java consideré comme la Classe Mére de ce langage????
Bonjour, ce que tu as à savoir de cette classe, ce sont les méthodes qu'elle propose, et qui sont utilisables pour toute classe que tu vas créer/manipuler en Java. Je pense notamment aux méthodes toString(), equals(), isNull(), etc. ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ 🔵 Rejoindre FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ TH-cam (personnel) : th-cam.com/users/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8
J'avoue avoir un mal fous à faire la différence entre le niveau d'accessibilité de private, protected et ne rien spécifier. Si vous pouviez m'éclairer ce serait super...
En résumé : - avec "public", l'accès est publique pour tout le monde. - avec "private", l'accès est restreint à la classe elle-même. - avec "protected", l'accès est restreint à la classe elle-même et ses sous-classes. Enfin, ne rien préciser revient à avoir un niveau d'accès publique uniquement dans le paquet où on se trouve (et privé pour le reste).
Bonjour, est-ce qu'il est possible de déclarer des méthodes et des attribut statiques abstraits dans les classes abstraites que les classes qui héritent de ces dernières doivent implémenter ? Merci bonne soirée
Hello, merci avant tout pour tes cours vraiment clair ! J'avais une question, dans le cas d'un jeu vidéo, imaginons que nous avons deux class une class IA et une class RealPlayer. Les deux ont les mêmes méthodes ( elles sont nommé pareil mais n'ont pas le même contenu ) et elles ont le même constructeur, est-ce que du coup on peut faire un class abstraite qui se nomme player avec toutes les methodes et mettre deux autres class réelles qui elles redefiniront les methodes de la class abstraite ? Que me conseilles-tu 😁
Bonjour, si tu as deux classes qui ont le même comportement et fournissent le même serveur, il ne devrait alors n'y avoir qu'une seule classe, plutôt que deux 👍 Dans le cas contraire, tu auras en amont une classe abstraite oui, voire des interfaces.
@@formation-video oui mais si ces classes ont des méthodes nommé pareillement mais avec un contenu différent comme par exemple pour l'ia choseAName se serait un random et pour le vrai joueur choseAName serait un bufferReader
Dans un héritage (ou l'implémentation d'interfaces), les méthodes doivent avoir la même signature. Après, elles peuvent chacun implémenter leur propre comportement.
Hey! Merci pour la formation très claire, et c'est comme ça que j'ajoute les connaissances de la POO à mon arsenal de réflexes. Mais, mon IDE (IntelliJ) m'indique d'ajouter "@Override" juste avant une méthode abstraite qui est redéfinie dans une classe "contrète" Est-ce plus une convention, qui permet d'assez facilement savoir si la méthode est nouvelle ou héritée Ou alors une nécessité à partir d'une certaine version du JDK (je travaille avec le JDK 11)
C'est une recommandation de ton éditeur, je n'ai pas encore publié la vidéo au sujet de ces notations, mais tu peux l'ajouter sans soucis à tes méthodes abstraites 👍
@@formation-video Merci pour la précision. Et surtout merci pour ta réactivité. Ca fait très palisir de voir autant de réponses de ta part à toutes les questions dans les commentaires. Je te souhaite une bonne fin de journée et bon courage pour la suite :)
Bonjour Jason, Déjà merci pour tes vidéos et formations (c'est vraiment cool de ta part! ), si je pouvais juste te faire une remarque constructive (de mon point de vue de débutant) ce serait de travailler sur des exemples concrets sur les concepts que tu nous offres en vidéo car ça peut paraître * really abstract * pour le coup sur des cas concrets d'applications dans la vie réel, peut être que je suis le seule de tes 60.000 abonnés à penser cela, mais en tous cas je pense que ça ne fera de mal à aucun débutant dans la programmation de pouvoir s'immerger dans les cas concrets du monde réel - tel un primaire qui essaye de comprendre à quoi les mathématiques vont lui servir dans sa vie, même si le professeur lui affirme que ça lui sera utile... Et encore une fois je sais qu'il pourrait ne pas y avoir du tout de vidéo, donc merci encore, mais vu qu'elles sont là, comme une bonne vieille hache ça ne fait pas de mal de l'aiguiser un peu. Sinon a la base j'étais seulement venu pour une question : Sur la classe abstraite Feline, tu déclares une méthode speak() non abstraite pour chaque félin (Roooaaar !!). Si comme tu dis nous souhaitons appliquer la même méthode pour par exemple, un Puma, mais que pour celui ci nous lui définissons une manière de parler propre à lui-> Du coup doit on utiliser le mot clef - @Override - avant la manœuvre ou vu que le puma hérite d'une classe abstraite cela nous libère d'utiliser ce mot clef?
Coucou, les exemples pour illustrer les concepts du cours sont faits pour être les plus directs possibles, sans ajouter d'autres choses inutiles et qui pourrait alourdir chaque nouvelle notion abordée. De ce fait, si tu as besoin de plus de concret, il faudra t'orienter vers les exercices (pas encore publiés pour Java, mais cela arrivera) 😉 Ensuite, pour certains mots-clés comme @override, on les utilise tout particulièrement pour la documentation du code, ou bien pour que le compilateur puisse signaler un oubli du programmeur, si on a peur de faire des bêtises. Je ne l'aborde pas dans mes vidéos pour le moment car ça n'a aucun caractère obligatoire. Par contre, ce sera abordé dans une vidéo bien spécifique, pour voir comment cela s'utilise et à quoi cela sert aussi. Du coup,, dans mes exemples, je ne me sers jamais de ce mot-clé, mais l'héritage est bien effectif. ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ 🔵 Rejoindre FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ TH-cam (personnel) : th-cam.com/users/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8
Salut ! Pourrait-on juste mettre des classes "normales " (concrètes) à la place des classes abstraites ? En effet, de ce que j'ai compris, les classes abstraites permettent grosso modo de définir des méthodes générales qui ont pour but d'être override par les classes filles. Mais on aurait pu aussi juste enlever le mot clé " abstract " (et donc de passer de classes abstraites à concrètes) et tout aurait fonctionné de la même manière non ? ( car on peut override des méthodes mêmes si les méthodes ne sont pas abstraites non? ) PS : excellente vidéo comme d'hab ! :) PS2 : je ne suis pas encore arrivé au polymorphisme donc peut être que la réponse à ma question se trouve dans les prochaines vidéos :)
👋 +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne TH-cam ? th-cam.com/users/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
j'ai pris quelque notes. les classes abstraites: -permet de determiner ce qui est nécessaire d'exister dans les héritiés, si l'on respecte pas on aurai des erreurs. -une classe abstraite ne peut pas etre instancié.
Bonjour, merci beaucoup pour tes vidéos qui sont au top ! Hyper progressif, et même en ayant déjà des bases sur d'autres langages, on apprend plein de choses en revoyant les concepts appliqués à Java. Question tout de même, tu nous indique que l'on peut modifier la signature d'une méthode abstraite lorsqu'on l'implémente dans la classe fille (par exemple ici, avoir une fonction speak qui return quelque chose, ou encore ajouter des paramètres à renseigner pour appeler cette fonction). J'ai tenté de le faire, mais j'ai des erreurs à la compilation, que je tente l'une ou l'autre de ces modifications.. comme tu ne rentre pas dans le détail de ce type de modification dans la vidéo, je reste sur ma faim :) ! Peut-être quelque chose que j'ai loupé, ou quelque chose que je verrais dans les prochaines vidéos ??
Salut !! Merci pour la video, mais a la place des classes abstraites, on pourrait faire des classes concrete qu'on instancierai pas ? Ducoup il y a pas beaucoup d'utilite, enfin au moment de cette video
Pour factoriser le code comme vous l'avez dit dans la méthode speak .. Je pense que c'est pas obligatoire que la classe mère soit abstraite. La notion d'héritage deja me permet de ne pas réécrire le code non ?
La classe abstraite assure qu'aucune instance de celle-ci ne pourra être créée pour en définissant une structure générale aux classes qui en héritent 🙂 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ TH-cam (personnel) : th-cam.com/users/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Salut Jason pourquoi tu as déclaré la variable mName dans la classe LivingSpecies avec la visibilité protected ? (private ne serait pas mieux ?) J'me disais que c'était réservé uniquement dans la mesure où on veut faire hériter cette classe
Et bien oui, regarde, tout ce qui hérite de LivingSpecies possède bien un nom (issu de la classe mère) +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne TH-cam ? th-cam.com/users/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Non, le mot-clé "protected" ouvre un peu les droits d'accès. Au lieu qu'un attribut soit uniquement privé et accessible pour la classe qui le possède, on rend l'accès aux classes filles. +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne TH-cam ? th-cam.com/users/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Salut , est ce qu'une classe abstraite doit comporter au moin une méthode abstraite ? et si nous avons une classe fille abstraite, est ce qu'on doit redéfinir toutes les méthodes abstraites de la classe mère ?
Par définition, une classe est dite abstraite s'il y a AU MOINS une méthode qui n'est pas implémentée. ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ TH-cam (personnel) : th-cam.com/users/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Une méthode définit au sein d'une classe abstraite peut ne pas être redéfinie dans une classe qui l'étendra donc ?(si bien sûr cette méthode n'est pas abstract) Comme tu n'as pas fait appel à la méthode WhoIAm() mais t'as juste utilisé l'attribut mName de la classe abstraite dans la méthode Tiger() comme sa visibilité est protected
Si, une classe qui hérite d'une classe abstraite doit obligatoirement implémenter les méthodes, à moins d'être elle aussi abstraite à son tour. +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne TH-cam ? th-cam.com/users/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Ah rien de spécial, c'est parce que des gens faisaient du bruit dans la rue, et que ça pouvait s'entendre sur la vidéo 🙂 ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ 🔵 Rejoindre FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ TH-cam (personnel) : th-cam.com/users/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8
Parce qu'on en est pas encore là, mais ça tu es censé le savoir puisque je l'ai dit dans les premières vidéos du cours 😉 ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ 💙 Si ce n'est pas encore fait, n'hésite pas à t'abonner à la chaîne ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ TH-cam (personnel) : th-cam.com/users/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8
Funfact, en fait c'est l'inverse que tu penses, le rugissement de loin le plus impressionnant et à glacer le sang, c'est bien celui du tigre. c'est juste que le lion lui pique beaucoup sa place dans la culture populaire parce qu'il est un peu plus stylé (auréole tout ça...) mais en vrai il lui arrive pas à la cheville en tant que chasseur. Du coup vous y penserez la prochaine fois que vous entendrez un "lion" dans un film. 😀 Et au passage le plus ridicule c'est le guépard, lui c'est vraiment une grosse victime.
Bonjour, es-ce que vous savez ou on pourrais trouvers des petits projets à faire bien comprendre la POO (en Java bien sur) j'ai demander à chat GPT de me donner mais c'est trop facil et j'apprendre rien ou trop compliqué pour mon niveau actuel. 🥲🥲🥲🥲
Bonjour, merci beaucoup de prendre le temps de faire ces vidéos très complètes. Je suis en L2 informatique et ces vidéos m'aident beaucoup !
Bonjour et bon courage durant tes études en informatique 👍
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ TH-cam (personnel) : th-cam.com/users/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Bonjour merci beaucoup. Vous venez de clarifier 4 semaines de cours avec une bonne pédagogie. C'est super bien expliqué. Merci
Bonjour, super si cela t'aide dans tes études, et n'hésite pas si tu bloques sur certaines vidéos à commenter sur celles-ci 🙂
Très bonne formation, plus complète et de meilleur qualité que celle sur udemy !
C'est évident ! 😋
C'est une très belle vidéo et vraiment, très clair. J'ai pu facilement apprendre avec ces vidéos puis ensuite fait quelques exercices pour mieux comprendre.
En tout cas, mercii et un petit ajout aussi, le Tigre feule :)
Merci du retour, et bonne continuation sur Java 👋
Merci Jason pour tes cours sur le Java j'aime enormément ta chaine le cours sur Java d'openclassrooms n'es pas explicite du tout du coup j'avais du mal à cerner les concepts heritsge,Classse Abstraite,et le polymorphisme. merci pour ton soutien je tiens à te demandé est-ce qu'il est important de bien comprendre la notion d'utilisation de la Classe Objet de java consideré comme la Classe Mére de ce langage????
Bonjour, ce que tu as à savoir de cette classe, ce sont les méthodes qu'elle propose, et qui sont utilisables pour toute classe que tu vas créer/manipuler en Java. Je pense notamment aux méthodes toString(), equals(), isNull(), etc.
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
🔵 Rejoindre FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ TH-cam (personnel) : th-cam.com/users/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
Tes explications sont très claires. Merci!
De rien, bonne continuation en Java
vous m'avez fait aimer le JAVA, merci...
Je t'en prie ;)
J'avoue avoir un mal fous à faire la différence entre le niveau d'accessibilité de private, protected et ne rien spécifier. Si vous pouviez m'éclairer ce serait super...
En résumé :
- avec "public", l'accès est publique pour tout le monde.
- avec "private", l'accès est restreint à la classe elle-même.
- avec "protected", l'accès est restreint à la classe elle-même et ses sous-classes.
Enfin, ne rien préciser revient à avoir un niveau d'accès publique uniquement dans le paquet où on se trouve (et privé pour le reste).
cette video m'a fait gagner plusieurs heures
Super 👍
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ TH-cam (personnel) : th-cam.com/users/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Bonjour, est-ce qu'il est possible de déclarer des méthodes et des attribut statiques abstraits dans les classes abstraites que les classes qui héritent de ces dernières doivent implémenter ? Merci bonne soirée
Bonjour, je t'invite à le faire et voir si cela fonctionne 👍
Bonjour merci beaucoup ,enfin je commence à comprendre l'abstraction :-)
Bon courage Samuel :)
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ TH-cam (personnel) : th-cam.com/users/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
C'est vraiment bien expliqué.
Je fais de mon mieux pour rendre accessibles les notions, merci 😉
Hello, merci avant tout pour tes cours vraiment clair !
J'avais une question, dans le cas d'un jeu vidéo, imaginons que nous avons deux class une class IA et une class RealPlayer. Les deux ont les mêmes méthodes ( elles sont nommé pareil mais n'ont pas le même contenu ) et elles ont le même constructeur, est-ce que du coup on peut faire un class abstraite qui se nomme player avec toutes les methodes et mettre deux autres class réelles qui elles redefiniront les methodes de la class abstraite ? Que me conseilles-tu 😁
Bonjour, si tu as deux classes qui ont le même comportement et fournissent le même serveur, il ne devrait alors n'y avoir qu'une seule classe, plutôt que deux 👍
Dans le cas contraire, tu auras en amont une classe abstraite oui, voire des interfaces.
@@formation-video oui mais si ces classes ont des méthodes nommé pareillement mais avec un contenu différent comme par exemple pour l'ia choseAName se serait un random et pour le vrai joueur choseAName serait un bufferReader
Dans un héritage (ou l'implémentation d'interfaces), les méthodes doivent avoir la même signature. Après, elles peuvent chacun implémenter leur propre comportement.
Hey!
Merci pour la formation très claire, et c'est comme ça que j'ajoute les connaissances de la POO à mon arsenal de réflexes.
Mais, mon IDE (IntelliJ) m'indique d'ajouter "@Override" juste avant une méthode abstraite qui est redéfinie dans une classe "contrète"
Est-ce plus une convention, qui permet d'assez facilement savoir si la méthode est nouvelle ou héritée
Ou alors une nécessité à partir d'une certaine version du JDK (je travaille avec le JDK 11)
Je n'ai pas d'erreur, mais en JDK14 ou potentiellement ultérieur, serais-ce possible que ça devienne une obligation?
C'est une recommandation de ton éditeur, je n'ai pas encore publié la vidéo au sujet de ces notations, mais tu peux l'ajouter sans soucis à tes méthodes abstraites 👍
@@formation-video Merci pour la précision. Et surtout merci pour ta réactivité. Ca fait très palisir de voir autant de réponses de ta part à toutes les questions dans les commentaires.
Je te souhaite une bonne fin de journée et bon courage pour la suite :)
Je t'en prie, bonne journée/soirée également 👋
très bonne vidéo , merci beaucoup .
De rien 😃
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ TH-cam (personnel) : th-cam.com/users/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
exceptionel
Bonjour Jason,
Déjà merci pour tes vidéos et formations (c'est vraiment cool de ta part! ), si je pouvais juste te faire une remarque constructive (de mon point de vue de débutant) ce serait de travailler sur des exemples concrets sur les concepts que tu nous offres en vidéo car ça peut paraître * really abstract * pour le coup sur des cas concrets d'applications dans la vie réel, peut être que je suis le seule de tes 60.000 abonnés à penser cela, mais en tous cas je pense que ça ne fera de mal à aucun débutant dans la programmation de pouvoir s'immerger dans les cas concrets du monde réel - tel un primaire qui essaye de comprendre à quoi les mathématiques vont lui servir dans sa vie, même si le professeur lui affirme que ça lui sera utile... Et encore une fois je sais qu'il pourrait ne pas y avoir du tout de vidéo, donc merci encore, mais vu qu'elles sont là, comme une bonne vieille hache ça ne fait pas de mal de l'aiguiser un peu.
Sinon a la base j'étais seulement venu pour une question :
Sur la classe abstraite Feline, tu déclares une méthode speak() non abstraite pour chaque félin (Roooaaar !!). Si comme tu dis nous souhaitons appliquer la même méthode pour par exemple, un Puma, mais que pour celui ci nous lui définissons une manière de parler propre à lui-> Du coup doit on utiliser le mot clef - @Override - avant la manœuvre ou vu que le puma hérite d'une classe abstraite cela nous libère d'utiliser ce mot clef?
Coucou, les exemples pour illustrer les concepts du cours sont faits pour être les plus directs possibles, sans ajouter d'autres choses inutiles et qui pourrait alourdir chaque nouvelle notion abordée. De ce fait, si tu as besoin de plus de concret, il faudra t'orienter vers les exercices (pas encore publiés pour Java, mais cela arrivera) 😉
Ensuite, pour certains mots-clés comme @override, on les utilise tout particulièrement pour la documentation du code, ou bien pour que le compilateur puisse signaler un oubli du programmeur, si on a peur de faire des bêtises. Je ne l'aborde pas dans mes vidéos pour le moment car ça n'a aucun caractère obligatoire. Par contre, ce sera abordé dans une vidéo bien spécifique, pour voir comment cela s'utilise et à quoi cela sert aussi.
Du coup,, dans mes exemples, je ne me sers jamais de ce mot-clé, mais l'héritage est bien effectif.
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
🔵 Rejoindre FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ TH-cam (personnel) : th-cam.com/users/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
@@formation-video Super, merci pour ton retour
Je t'en prie ;)
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
🔵 Rejoindre FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ TH-cam (personnel) : th-cam.com/users/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
Top t'es videos!!
👍
Salut !
Pourrait-on juste mettre des classes "normales " (concrètes) à la place des classes abstraites ? En effet, de ce que j'ai compris, les classes abstraites permettent grosso modo de définir des méthodes générales qui ont pour but d'être override par les classes filles. Mais on aurait pu aussi juste enlever le mot clé " abstract " (et donc de passer de classes abstraites à concrètes) et tout aurait fonctionné de la même manière non ? ( car on peut override des méthodes mêmes si les méthodes ne sont pas abstraites non? )
PS : excellente vidéo comme d'hab ! :)
PS2 : je ne suis pas encore arrivé au polymorphisme donc peut être que la réponse à ma question se trouve dans les prochaines vidéos :)
Oui, le polymorphisme répondra grandement à tes questions 👍
*Merci bien Jason comme d'habitude*
👋
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne TH-cam ? th-cam.com/users/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
j'ai pris quelque notes.
les classes abstraites:
-permet de determiner ce qui est nécessaire d'exister dans les héritiés, si l'on respecte pas on aurai des erreurs.
-une classe abstraite ne peut pas etre instancié.
exceptionnel !!
Bonjour, merci beaucoup pour tes vidéos qui sont au top ! Hyper progressif, et même en ayant déjà des bases sur d'autres langages, on apprend plein de choses en revoyant les concepts appliqués à Java. Question tout de même, tu nous indique que l'on peut modifier la signature d'une méthode abstraite lorsqu'on l'implémente dans la classe fille (par exemple ici, avoir une fonction speak qui return quelque chose, ou encore ajouter des paramètres à renseigner pour appeler cette fonction). J'ai tenté de le faire, mais j'ai des erreurs à la compilation, que je tente l'une ou l'autre de ces modifications.. comme tu ne rentre pas dans le détail de ce type de modification dans la vidéo, je reste sur ma faim :) ! Peut-être quelque chose que j'ai loupé, ou quelque chose que je verrais dans les prochaines vidéos ??
Bonjour, peux-tu montrer ton code ?
Merci beaucoup
De rien Yacine
Salut !!
Merci pour la video, mais a la place des classes abstraites, on pourrait faire des classes concrete qu'on instancierai pas ?
Ducoup il y a pas beaucoup d'utilite, enfin au moment de cette video
Tu verras avec le polymorphisme cette utilité, car effectivement, le but d'une classe abstraite n'est pas d'avoir une classe qu'on instancie pas
Bonjour et merci pour vos cours. J'ai une question quand vous avez donné la valeur "Tigre" à mName pourquoi ne pas l'avoir fait avec super ?
Bonsoir, à quel moment de la vidéo exactement ?
@@formation-video 10:31
OK, donc oui, j'aurais pu tout aussi bien appeler le constructeur de la classe parente 👍
j"adore
🥳
merci boss
👍
Dehors c'est la fin du monde jpp🤣🤣🤣😭
👀
Pour factoriser le code comme vous l'avez dit dans la méthode speak .. Je pense que c'est pas obligatoire que la classe mère soit abstraite. La notion d'héritage deja me permet de ne pas réécrire le code non ?
La classe abstraite assure qu'aucune instance de celle-ci ne pourra être créée pour en définissant une structure générale aux classes qui en héritent 🙂
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ TH-cam (personnel) : th-cam.com/users/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
merci beaucoup tu est genial
Merci à toi ✌
👍👏👏
trés bonne vidéo svp quels sont les livres pour bien se développer en java
Aucune idée, mais je dirais n'importe quel livre, pour peu qu'il soit à jour au niveau de la version de Java abordée 👍
Merci beacoup
De rien 😉
Salut Jason pourquoi tu as déclaré la variable mName dans la classe LivingSpecies avec la visibilité protected ?
(private ne serait pas mieux ?)
J'me disais que c'était réservé uniquement dans la mesure où on veut faire hériter cette classe
Et bien oui, regarde, tout ce qui hérite de LivingSpecies possède bien un nom (issu de la classe mère)
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne TH-cam ? th-cam.com/users/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
@@formation-video du coup c'est une "forme" d'héritage
Non, le mot-clé "protected" ouvre un peu les droits d'accès. Au lieu qu'un attribut soit uniquement privé et accessible pour la classe qui le possède, on rend l'accès aux classes filles.
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne TH-cam ? th-cam.com/users/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Oui j'ai compris merci bien
Vraiment je suis acro a l’informatique
Salut , est ce qu'une classe abstraite doit comporter au moin une méthode abstraite ?
et si nous avons une classe fille abstraite, est ce qu'on doit redéfinir toutes les méthodes abstraites de la classe mère ?
Par définition, une classe est dite abstraite s'il y a AU MOINS une méthode qui n'est pas implémentée.
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ TH-cam (personnel) : th-cam.com/users/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Merci
Je t'en prie 😉
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ TH-cam (personnel) : th-cam.com/users/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Une méthode définit au sein d'une classe abstraite peut ne pas être redéfinie dans une classe qui l'étendra donc ?(si bien sûr cette méthode n'est pas abstract)
Comme tu n'as pas fait appel à la méthode WhoIAm() mais t'as juste utilisé l'attribut mName de la classe abstraite dans la méthode Tiger() comme sa visibilité est protected
Si, une classe qui hérite d'une classe abstraite doit obligatoirement implémenter les méthodes, à moins d'être elle aussi abstraite à son tour.
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne TH-cam ? th-cam.com/users/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
@@formation-video OK merci pour la précision encore
Salut Jason, pourquoi dis-tu que c’est l’apocalypse dehors à 5’40 ?
Ah rien de spécial, c'est parce que des gens faisaient du bruit dans la rue, et que ça pouvait s'entendre sur la vidéo 🙂
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
🔵 Rejoindre FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ TH-cam (personnel) : th-cam.com/users/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
FormationVidéo ah d’accord 😄
👍
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
🔵 Rejoindre FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ TH-cam (personnel) : th-cam.com/users/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
Salut. Pourquoi tu ne donnes pas des vidéos sur les collection?
Parce qu'on en est pas encore là, mais ça tu es censé le savoir puisque je l'ai dit dans les premières vidéos du cours 😉
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
💙 Si ce n'est pas encore fait, n'hésite pas à t'abonner à la chaîne
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ TH-cam (personnel) : th-cam.com/users/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
dédicace au cours de POO des S2B
👋
Funfact, en fait c'est l'inverse que tu penses, le rugissement de loin le plus impressionnant et à glacer le sang, c'est bien celui du tigre. c'est juste que le lion lui pique beaucoup sa place dans la culture populaire parce qu'il est un peu plus stylé (auréole tout ça...) mais en vrai il lui arrive pas à la cheville en tant que chasseur. Du coup vous y penserez la prochaine fois que vous entendrez un "lion" dans un film. 😀
Et au passage le plus ridicule c'est le guépard, lui c'est vraiment une grosse victime.
Et ne pas sous-estimer le jappement du renard 👀
Bonjour, es-ce que vous savez ou on pourrais trouvers des petits projets à faire bien comprendre la POO (en Java bien sur) j'ai demander à chat GPT de me donner mais c'est trop facil et j'apprendre rien ou trop compliqué pour mon niveau actuel. 🥲🥲🥲🥲
Bonjour, pourquoi ne pas partir sur des petits projets en rapport avec ce qui t'a donné envie d'apprendre ce langage ?