java:abstract
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
java:abstract [2013/11/07 14:42] – [Et si je ne veux pas redéfinir une méthode abstraite, hein?] bruno | java:abstract [2018/03/16 15:42] (Version actuelle) – [Pour aller encore plus loin: les classes virtuelles pures (ou interfaces en java)] bruno | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Abstract et java ====== | ====== Abstract et java ====== | ||
+ | |||
+ | > "Le concret c'est de l' | ||
+ | |||
Nous voyons aujourd' | Nous voyons aujourd' | ||
- | En effet, très souvent, les débutants en java et plus généralement en objet ne comprennent pas à quoi il sert, et donc l'utilise | + | En effet, très souvent, les débutants en java et plus généralement en objet ne comprennent pas à quoi il sert, et donc l'utilisent |
Heureusement, | Heureusement, | ||
Ligne 8: | Ligne 11: | ||
C'est parti! | C'est parti! | ||
- | ===== Un peu de théorie histoire de bien situer | + | ===== Un peu de théorie histoire de bien situer |
- | Je vais commencer par un peu de théorie de la programmation orientée objet. | + | > Plus abstraite est la vérité que tu veux enseigner, plus tu dois en sa faveur séduire les sens. (Friedrich Nietzsche) |
+ | |||
+ | Je vais commencer par essayer de vous séduire avec un peu de théorie de la programmation orientée objet (certain diront que c'est pas gagné d' | ||
Vous savez normalement ce qu'est l' | Vous savez normalement ce qu'est l' | ||
Ligne 18: | Ligne 23: | ||
Ces classes mères permettent avant tout de donner une direction générale à la programmation, | Ces classes mères permettent avant tout de donner une direction générale à la programmation, | ||
- | Nous savons qu'il est possible de // | + | Nous savons qu'il est possible de // |
Mais pour l' | Mais pour l' | ||
Ligne 507: | Ligne 512: | ||
Apparemment, | Apparemment, | ||
- | "Chat n'est pas abstract" | + | > "Chat n'est pas abstract" |
- | "...et ne redéfinie | + | > "...et ne redéfinit |
Quel problème cela pose-t-il pour le compilateur: | Quel problème cela pose-t-il pour le compilateur: | ||
Ligne 525: | Ligne 530: | ||
- soit redéfinir la méthode //jouer// dans Chat, pour permettre la construction d' | - soit redéfinir la méthode //jouer// dans Chat, pour permettre la construction d' | ||
+ | Si on choisit la première solution, Chat devient abstract et il n'y a plus de problème de compilation... à condition de ne pas utiliser le constructeur //Chat// avec **new**. | ||
+ | |||
+ | Si une classe hérite de Chat (par exemple // | ||
+ | |||
+ | ===== Pour aller encore plus loin: les classes virtuelles pures (ou interfaces en java) ===== | ||
+ | -> ce dernier point fait l' | ||
java/abstract.1383835353.txt.gz · Dernière modification : 2013/11/07 14:42 de bruno