Merci beaucoup pour ces videos edifiantes. J'aimerais bien une video sur les methodes equals/ hashcode si possible. Vraiment ça me ferait beaucoup plaisir. Merci ;-)
thx very much mr , j'ai une petite question concernant les methode abstraite est ce que lorsque j'implement une methode abstraite au ni veau de la classe mere , je peux lui donner des parametres au niveau de la classe fille ?
Merci Honore ! Si tu connais un bon tuto comme tes videos je suis prenante ( j ai besoin d apprendre les threads + finir d apprendre Java dans 3 semaines :-)
Merci Honore pour les tutos mais ici je suis bloqué, si on supprime la classe Forme et le mot extends des autres classe, ça marche bien, quel est l'intéret d'utiliser cette classe abstraite et merci d'avance.
Je vais essayer de te repondre en esperant avoir compris suffisamment : L’interet que l'on peut donner a une classe abstraite est cette notion de contrat qu'a explique Honore dans cette video, tu pourras t'en servir si tu souhaite donner une organisation a ton code. Par exemple ici l'on cree des formes, cependant l'on souhaite que TOUTES les formes aient une formule permettant de calculer l'aire, c'est donc la qu'intervient la classe Forme qui va obliger toutes ces classes fille (Triangle, Cercle etc.) a contenir une methode aire(). L'on peut aussi rajouter le fait que cela nous empeche aussi d'instancier des objets a partir de la classe Forme. Evitant ainsi bon nombre d'erreur dans notre code. ex : impossibilité de créer l'objet Forme triangle = new Forme; Et heuresement sinon a quoi servirait la classe triangle ? En esperant t'avoir aide...
Bonjour Honoré, est-ce qu'on peut avoir une méthode abstraite dans une classe qui n'est pas abstraite et une méthode qui n'est pas abstraite dans une classe abstraite?
Bonsoir, je vous remercie déjà pour ce tuto! Cependant, j'ai un petit problème. J'ai reproduit exactement votre programme à la lettre mais lors de ma création d'objet carre dans "HeritageTest", sous la forme Carre carre = new Carre(); afin de lui attribuer la méthode aire, Eclipse me signale une erreur disant : Multiple markers at this line - The constructor Carre() is undefined - TODO Auto-generated method stub Pourriez vous m'éclairer? Merci.
J'ai trouvé mon erreur, je n'avais pas construit le constructeur par défaut de Carre mais seulement le constructeur avec des paramètres, puis en créant mon objet carre, je n'ai rien mis dans les parenthèses dans la classe HeritageTest, du coup, l'erreur était plus que logique. Merci quand même.
bonjour j'aimerai savoir comment je réaliser un héritage multiple car j'ai une classe utilisateur(login,mot de passe,service) qui hérite à la fois de la classe personne(avec attributs et méthodes) et de la classe profile(attributs) .je ne cerne pas encore bien le concept même avec la vidéo diamond problem. merci d'avance
salut Honore vous avez dis quand n'a pas le droit d'intancier une classe abstrait dans un exemple du livre de Claude Delannoy une classe abstrait Affichable qui a une method abstrait affiche deux classes filles Entier et Double qui ont une function afiiche (qui affiche un entier , double) et dans la classe driver il a fait Affichable [ ] tab ; tab = new Affichable[ 3];
Kais Chaabane CELA NE CORRESPOND PAS A UNE INSTANCIATION DE CLASSE. Ici, nous avons tout simplement la déclaration d'un tableau d'objets de type Affichable. (En gros vu que la taille de ce tableau est de 3, il contiendra trois objets de type Affichable). C'est un peu comme si on avait écrit: int[] tab = new int[3]; De plus remarquez que dans votre exemple ce sont des crochets qui sont utilisés et non des parenthèses comme on l'a vu jusque là pour la syntaxe d'instanciation d'une classe. Si on l'avait réellement instanciée (chose qui n'est pas possible) on aurait eu quelque chose du genre: Affichable affichable = new Affichable(param1, ...); (CE SONT ICI DES PARENTHÈSES ET NON DES CROCHETS) Les objets Affichable qui seront en effet stockés au niveau de ce tableau "tab" seront le fruit de l'instanciation de l'une des classes filles (c'est-à-dire Entier et Double qui restent tout de même des "Affichable" vu qu'elles héritent toutes les deux de la classe Affichable.) vu que la classe ABSTRAITE Affichable ne peut pas être instanciée. Pour mieux comprendre ce mushibishi, il faudrait savoir que ces deux lignes de code suivantes sont exactes: Affichable affichable1 = new Entier(); Affichable affichage2 = new Double(); En gros comme vous le voyez un objet de la classe Entier ou Double est aussi un objet de type Affichable vu que les classes Entier et Double héritent toutes les deux de la classe Affichable. Nous le verrons un peu plus amplement dans les vidéos à venir mais sachez par exemple que dans notre cas de figure le code suivant est fonctionnel: package com.teachersdunet.javaintermediaire; public class HeritageTest { public static void main(String[] args) { Forme[] tab = new Forme[3]; //tableau Forme forme1 = new Cercle(); //Instanciation Forme forme2 = new Triangle(); //Instanciation Forme forme3 = new Carre(); //Instanciation tab[0] = forme1; tab[1] = forme2; tab[2] = forme3; for(int i = 0; i < tab.length; i++){ System.out.println(tab[i].aire()); } } } En résumé,une CLASSE ABSTRAITE comme j'ai eu à le dire ne peut en aucun cas être instanciée.
Top ! la simplicité d explication, complète parfaitement mes cours et facilite la compréhension de certains concepts! Merci
Merci, bonne clarté dans les explications;
les vidéos m'aident vraiment à compléter mes cours.
En bref c'est top.
Vos cours me sont vraiment très utiles, ils me permettent d'avancer à grand pas. Merci à vous.
C'est vous le meilleur pof merci merci et encore merci avec vous java devient facile
bravo pour ces tuto extra. j'avais des probleme de class abtraite mais maintenant c clair comme de l'eau de roche. Encore bravo
franchement respect, tu explique trop bien je te suis de Belgique
Merci Honoré pour ce tuto!! moi qui appréhendais la compréhension des classes abstraites... pas si dure au final grâce a tes explications!! Merci
Tu expliques trop bien, merci beaucoup
merci pour tes explications Mr t'es tjrs le N°1
Merci bcp.
comme toujours, c est super bien expliqué.
Bravo
Vraiment vous etez professionnel
Merveilleuse explication, merci beaucoup!
Tu es trop fort! très pédagogue
super bien avec toi jai compris l'abstraction
ouf! enfin. je viens de comprendre la notion de classe abstraite. merci
j'adore tes vidéos ❤ et je souahite que tu fasses des vidéos sur les complexité algorithmique ...
Très bien expliqué ! Merci beaucoup !
tes explication sont bien concretes merci
tu sais bien expliqué bonne continuation
bonne travail mon frère courage
Merci Beaucoup, les explications sont on ne peut plus clair
merci pour ces explications super claires
tres belle explication
j'ai trés bien compris merci beaucoup.
Magnifique ❤️
Merci beaucoup pour ces videos edifiantes. J'aimerais bien une video sur les methodes equals/ hashcode si possible. Vraiment ça me ferait beaucoup plaisir. Merci ;-)
thx very much mr , j'ai une petite question concernant les methode abstraite
est ce que lorsque j'implement une methode abstraite au ni veau de la classe mere , je peux lui donner des parametres au niveau de la classe fille ?
c'est super parfait j'adore !!!
vous etes super
Merciiii infiniment Honore tres bien explique
graet work and clear explanation (y)
C'est tres claire ,merci bcp !
Très bien frère!
hahaha, au niveau du respect du contrat de la méthode aire() de la classe carre, tu m'as tué de rire hahaha! Merci Teacher!
Merci honore tres bien expliquer comme d'hab, je me demande si tu as fais des vidéos for java level advanced ca serait tres intéressant :)
merci, excellent comme d'habitude
C'est quoi le muchi buchi ?
C'est un tic que j'ai.
Mushibishi veut dire "cette chose" dépendamment du contexte :).
merci bcp :)
j’espère que tu va mettre un tuto sur les interfaces bientôt
tu expliques vraiment super bien, fait juste attention à la qualité de ton micro sinon bravo!!!
très bien expliquer
Bonjour Honore,Est ce qu'une classe fille doit definir le contenu de toutes les classes abstraites qui se trouvent au niveau de la classe mere?
Merci!
Très clair ! Merci infiniment !
Mamiya nice tuto men
Merci beaucoup !!
Merci a vous honore pour ce tuto mais jai un petit soucis avec eclipse jarrive pas acces a joptionpane
C'est quoi les annotations ? (@overrides, etc)
Bonjour Honore,
Je recherche sur ta chaine une video sur les Threads. Je n'ai pas trouve. Aurais tu cela ?
Merci !
+Karine O Salut Karine. Pas de vidéos pour l'instant disponible. J'en parlerai plus tard.
Merci Honore !
Si tu connais un bon tuto comme tes videos je suis prenante ( j ai besoin d apprendre les threads + finir d apprendre Java dans 3 semaines :-)
@@Teachersdunet j'attends aussi cette vidéo :p
Bien expliqué
Bonjour Honoré,
Il serait aussi intéressant d'ajouter un petit tutoriel concernant l'utilisation du debugger sous Eclipse...
Bàt,
Hervé
th-cam.com/video/y-LrinwJce4/w-d-xo.html
Super, merci.
Puis-je écrire methode abstract dons class forme mais class forme non abstract ?
trop top !
Merci : )
Merci Honore pour les tutos mais ici je suis bloqué, si on supprime la classe Forme et le mot extends des autres classe, ça marche bien, quel est l'intéret d'utiliser cette classe abstraite et merci d'avance.
Je vais essayer de te repondre en esperant avoir compris suffisamment :
L’interet que l'on peut donner a une classe abstraite est cette notion de contrat qu'a explique Honore dans cette video, tu pourras t'en servir si tu souhaite donner une organisation a ton code.
Par exemple ici l'on cree des formes, cependant l'on souhaite que TOUTES les formes aient une formule permettant de calculer l'aire, c'est donc la qu'intervient la classe Forme qui va obliger toutes ces classes fille (Triangle, Cercle etc.) a contenir une methode aire().
L'on peut aussi rajouter le fait que cela nous empeche aussi d'instancier des objets a partir de la classe Forme. Evitant ainsi bon nombre d'erreur dans notre code.
ex : impossibilité de créer l'objet Forme triangle = new Forme;
Et heuresement sinon a quoi servirait la classe triangle ?
En esperant t'avoir aide...
Desole pour le manque d accent et de symbole youtube semble ne pas supporter l'UTF8 pour mon commentaire...
Alexi Ghost merci et si j'ai compris juste pour l'organisation du code
Bonjour Honoré,
est-ce qu'on peut avoir une méthode abstraite dans une classe qui n'est pas abstraite et une méthode qui n'est pas abstraite dans une classe abstraite?
la 2 oui
Super!!!
Bonsoir, je vous remercie déjà pour ce tuto! Cependant, j'ai un petit problème. J'ai reproduit exactement votre programme à la lettre mais lors de ma création d'objet carre dans "HeritageTest", sous la forme Carre carre = new Carre(); afin de lui attribuer la méthode aire, Eclipse me signale une erreur disant :
Multiple markers at this line
- The constructor Carre() is
undefined
- TODO Auto-generated
method stub
Pourriez vous m'éclairer? Merci.
J'ai trouvé mon erreur, je n'avais pas construit le constructeur par défaut de Carre mais seulement le constructeur avec des paramètres, puis en créant mon objet carre, je n'ai rien mis dans les parenthèses dans la classe HeritageTest, du coup, l'erreur était plus que logique. Merci quand même.
Oui, quand tu crée un constructeur personnalisé, ton constructeur par défaut se supprime, faut en créer un nouveau
1000 merci
bonjour, c'est quoi @overrede ? Mercie pour ce bon cours et bon continuation
Ça signifie tout simplement que cette méthode doit être redéfinie
Trés fort !
Waouuh!
bonjour j'aimerai savoir comment je réaliser un héritage multiple car j'ai une classe utilisateur(login,mot de passe,service) qui hérite à la fois de la classe personne(avec attributs et méthodes) et de la classe profile(attributs) .je ne cerne pas encore bien le concept même avec la vidéo diamond problem. merci d'avance
joseph tonga L'héritage multiple n'est pas supporté en Java!
oui je sais mais je ne sais vraiment pas comment m'y prendre
joseph tonga pour l'héritage multiple faut programmer en C++
Pourquoi les champs et méthodes des classes abstraites ne sont-ils pas tous déclarés protected ?
En un mot on peut dire une classe abstrait c'est un peu comme une factoriser exemple. 2x+3xx =x(2+3x)..
merci
salut Honore
vous avez dis quand n'a pas le droit d'intancier une classe abstrait
dans un exemple du livre de Claude Delannoy une classe abstrait Affichable qui a une method abstrait affiche
deux classes filles Entier et Double qui ont une function afiiche (qui affiche un entier , double) et dans la classe driver il a fait
Affichable [ ] tab ;
tab = new Affichable[ 3];
Kais Chaabane CELA NE CORRESPOND PAS A UNE INSTANCIATION DE CLASSE.
Ici, nous avons tout simplement la déclaration d'un tableau d'objets de type Affichable. (En gros vu que la taille de ce tableau est de 3, il contiendra trois objets de type Affichable).
C'est un peu comme si on avait écrit: int[] tab = new int[3];
De plus remarquez que dans votre exemple ce sont des crochets qui sont utilisés et non des parenthèses comme on l'a vu jusque là pour la syntaxe d'instanciation d'une classe. Si on l'avait réellement instanciée (chose qui n'est pas possible) on aurait eu quelque chose du genre:
Affichable affichable = new Affichable(param1, ...);
(CE SONT ICI DES PARENTHÈSES ET NON DES CROCHETS)
Les objets Affichable qui seront en effet stockés au niveau de ce tableau "tab" seront le fruit de l'instanciation de l'une des classes filles (c'est-à-dire Entier et Double qui restent tout de même des "Affichable" vu qu'elles héritent toutes les deux de la classe Affichable.) vu que la classe ABSTRAITE Affichable ne peut pas être instanciée.
Pour mieux comprendre ce mushibishi, il faudrait savoir que ces deux lignes de code suivantes sont exactes:
Affichable affichable1 = new Entier();
Affichable affichage2 = new Double();
En gros comme vous le voyez un objet de la classe Entier ou Double est aussi un objet de type Affichable vu que les classes Entier et Double héritent toutes les deux de la classe Affichable.
Nous le verrons un peu plus amplement dans les vidéos à venir mais sachez par exemple que dans notre cas de figure le code suivant est fonctionnel:
package com.teachersdunet.javaintermediaire;
public class HeritageTest {
public static void main(String[] args) {
Forme[] tab = new Forme[3]; //tableau
Forme forme1 = new Cercle(); //Instanciation
Forme forme2 = new Triangle(); //Instanciation
Forme forme3 = new Carre(); //Instanciation
tab[0] = forme1;
tab[1] = forme2;
tab[2] = forme3;
for(int i = 0; i < tab.length; i++){
System.out.println(tab[i].aire());
}
}
}
En résumé,une CLASSE ABSTRAITE comme j'ai eu à le dire ne peut en aucun cas être instanciée.
Mitsubishi ?
J'ai bien comment tu parles c'est très limpide.
1000 merci