Polymorphisme : Une méthode polymorphe est une méthode déclarée dans une
super-classe et redéfinie dans une sous-classe
• Les méthodes « final » ne peuvent pas être redéfinies
Exemple:
ObjectGraphique A= new Cercle(2,3,6);
System.out.println(A. toString( )) ;
méthode abstraite : Une méthode abstraite est une méthode dont on donne la
signature sans décrire l’implémentation
- Le mot-clé « abstract » permet d’indiquer qu’une méthode doit être redéfinie dans
une sous-classe
public abstract nom_methode(params); //pas de code
Abstract indique que la classe ne pourra être instanciée telle quelle. De plus, toutes les méthodes de cette
classe abstract ne sont pas implémentées et devront être redéfinies par des méthodes complètes dans ses
sous-classes.
classe abstraite : Une classe abstraite est une classe qui contient au moins une
méthode abstraite.
- Une classe abstraite est une classe qui n’est pas faite pour être instanciée, elle est
destinée à être dérivée
public abstract class nom_classe {...}
Utilisation de l’abstraction :
Quand des classes ont une méthode en commun, il est préférable de la placer dans
une classe de base dont ces classes dérivent.
• Si le comportement de cette méthode ne peut être défini dans la classe de base
(l’existence est commune mais pas le code) la méthode est alors déclarée abstraite
Les exceptions : Les exceptions sont des objets particuliers qui définissent une
situation particulière ou d'erreur qui sont générés par des méthodes ou par la
machine virtuelle Java et qu'il convient de traiter.
•Le fait de gérer les exceptions s'appelle aussi « la capture d'exception »
•Le mécanisme des exceptions Java permet de traiter les erreurs d’éxécution
clause finally : La clause finally définit un bloc qui sera toujours exécuté, qu'une
exception soit levée ou non.
public static void main(String[] args) {
try {
System.out.println(20/0);
} catch (ArithmeticException e) {
System.out.println("Division par zéro !");
}
finally{
System.out.println("action faite systématiquement"); }}
Les classes « Wrapper » : Les wrappers sont des classes prédéfinies qui sont
de simples enveloppes permettant de donner un look objet aux types primitifs. Elles
se trouvent dans le paquetage java.lang.
Les collections : Les collections sont des objets qui permettent de gérer des
ensembles d'objets
• Chaque objet contenu dans une collection est appelé un élément.
•Les interfaces à utiliser par des objets qui gèrent des collections sont :
Collection : interface qui est implémentée par la plupart des objets qui gèrent des
collections
Map : interface qui définit des méthodes pour des objets qui gèrent des collections
sous la forme clé/valeur
Set : interface pour des objets qui n'autorisent pas la gestion des doublons dans
l'ensemble
List : interface pour des objets qui autorisent la gestion des doublons et un accès
direct à un élément
•Enumeration elements() : retourne sous forme d’une énumération tous les éléments
de la table,
•Object put( Object key, Object value ) : ajoute un élément dans la table
•Inverser :
- reverse(List liste) ; inverse les éléments de la liste .
•Mélanger:
-shuffle(List liste) ; mélange les éléments de manière aléatoire
•Rechercher :
binarySearch(List list, Object element) ; une recherche binaire d'un élément.
binarySearch(List list, Object element, Comparator comp) ; une recherche d'un élément en
utilisant un Comparator.
•Minimum et maximum :
-min(List); min(List,Comparator).
- max(List); max(List,Comparator).
• Le framework définit aussi des interfaces pour faciliter le parcours des collections et leur tri
- Comparable : interface pour définir un ordre de tri naturel pour un objet
- Comparator : interface pour définir un ordre de tri quelconque
Modificateur Rôle
la classe contient une ou des méthodes abstraites, qui n'ont pas de définition explicite. Une
abstract classe déclarée abstract ne peut pas être instanciée : il faut définir une classe qui hérite
de cette classe et qui implémente les méthodes nécessaires pour ne plus être abstraite.
la classe ne peut pas être modifiée, sa redéfinition grâce à l'héritage est interdite. Les
final
classes déclarées final ne peuvent donc pas avoir de classes filles.
private la classe n'est accessible qu'à partir du fichier où elle est définie
Objet : Les objets contiennent des attributs et des méthodes. Les attributs sont des
variables ou des objets nécessaires au fonctionnement de l'objet. En Java, une application
est un objet. La classe est la description d'un objet. Un objet est une instance d'une classe.
Pour chaque instance d'une classe, le code est le même, seules les données sont différentes
à chaque objet.
L'encapsulation : consiste à rendre les membres d'un objet plus ou moins visibles pour les
autres objets.
– un membre privé (private) n'est visible que dans les instances directes de la classe où il est déclaré.
– un membre sans modifieur est visible uniquement dans les instances directes de la classe où il est
déclaré et dans celles des classes du même paquetage.
– un membre protégé (protected) n'est visible que dans les instances, directes ou non, de la classe où
il est déclaré (et donc aussi dans les instances des sous-classes) et dans les instances des classes du
même paquetage.
Une méthode static : est une méthode qui n'agit pas sur des variables d'instance mais uniquement sur
des variables de classe. Ces méthodes peuvent être utilisées sans instancier un objet de la classe. Les méthodes
ainsi définies peuvent être appelées avec la notation classe.methode() au lieu de objet.methode() : la première
forme est fortement recommandée pour éviter toute confusion.
Les constantes : sont définies avec le mot clé final : leur valeur ne peut pas être modifiée une fois
qu'elles sont initialisées.
Le constructeur : La déclaration d'un objet est suivie d'une sorte d'initialisation par le moyen d'une
méthode particulière appelée constructeur pour que les variables aient une valeur de départ. Elle n'est
systématiquement invoquée que lors de la création d'un objet.
Le constructeur suit la définition des autres méthodes excepté que son nom doit obligatoirement
correspondre à celui de la classe et qu'il n'est pas typé, pas même void, donc il ne peut pas y avoir d'instruction
return dans un constructeur. On peut surcharger un constructeur.