Java Les Classes Flashcards
Que veut dire POO ?
Programmation Orientée Objet
Qu’est-ce-qu’une Classe ?
- Un support d’encapsulation
- Un ensemble de fonctions et de données regroupées dans une même structure
- La description abstraites d’un objet
- Une classe comporte sa déclaration, des variables et les définitions de ses méthodes.
Que sont les propriétés ou attributs d’une Classe ?
- La définition des données encapsulées, ils contiennent les données d’une classe.
- Variables ou objets nécessaires au fonctionnement de l’objet.
- Ils peuvent être des variables d’instances, de classes ou des constantes.
Qu’est-ce-qu’un modificateur d’accès ?
- Ce sont des attributs de visibilité réglementant l’accès aux classes et aux objets, aux méthodes et aux données.
- Ils ne peuvent pas être utilisés pour qualifier des variables locales.
- Ils assurent le contrôle de conditions d’héritage, d’accès aux éléments et de modifications des données par les autres objets.
Quels sont les modificateurs d’accès en JAVA ?
- Private
- Public
- Protected
- Package Friendly (par défaut)
Définir le modificateur d’accès Private
- Niveau de protection le plus fort.
- Les composants ne sont visibles qu’à l’intérieur de la classe : ils ne peuvent être modifiés que par des méthodes définies dans la classe et prévues à cet effet.
- Les méthodes déclarées private ne peuvent pas être en même temps déclarées abstract car elles ne peuvent pas être redéfinies dans les classes filles.
Définir le modificateur d’accès Public
- Une variable, méthode ou classe déclarée public est visible par tous les autres objets.
- Depuis la version 1.0, une seule classe public est permise par fichier et son nom doit correspondre à celui du fichier.
- Dans la philosophie orientée objet aucune donnée d’une classe ne devrait être déclarée publique : il est
préférable d’écrire des méthodes pour la consulter et la modifier.
Définir le modificateur d’accès Protected
- Seules les méthodes présentes dans le même package que cette classe ou ses sous-classes pourront y accéder.
- On ne peut pas qualifier une classe avec protected.
Définir le modificateur d’accès Package Friendly
- Niveau par défaut lorsqu’aucun modificateur n’est précisé.
- Cette déclaration permet à une entité (classe, méthode ou variable) d’être visible par toutes les classes se trouvant dans le même package (équivaut à Protected).
Définir : Variable d’instance
Une variable d’instance nécessite la déclaration d’une variable dans le corps de la classe.
Chaque instance de la classe a accès à sa propre occurence de la variable.
Définir : Variable de classe
Les variables de classe sont définies par le mot clef ‘Static’.
Chaque instance de la classe partage la même variable.
Définir le mot clé Static
- Le mot clé static s’applique aux variables et aux méthodes.
- Les variables d’instance sont des variables propres à un objet.
- Il est possible de définir une variable de classe qui est partagée entre toutes les instances d’une même classe : elle n’existe donc qu’une seule fois en mémoire. Une telle variable permet de stocker une constante ou une valeur modifiée tour à tour par les instances de la classe. Elle se définit avec
le mot clé Static.
Comment accéder à une classe ?
Il faut en déclarer une instance ou un objet.
Quelle est la syntaxe de déclaration d’une classe ?
modificateurs class nom_de_classe [extends classe_mere] [implements interfaces] { … }
Définir le modificateur de Classe : Abstract
- La classe contient une ou des méthodes abstraites, qui n’ont pas de définition explicite.
- Une 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. - On ne peut qu’appeler ses méthodes et les redéfinir dans les classes filles.
Définir le modificateur de Classe : Final
- La classe ne peut pas être modifiée
- Sa redéfinition grâce à l’héritage est interdite.
- Les classes déclarées final ne peuvent donc pas avoir de classes filles.
Définir le mot clef Extends
- Permet de spécifier une superclasse éventuelle
- Il permet de préciser la classe mère dans une relation d’héritage
Définir le mot clef Implements
- Permet de spécifier une ou des interfaces que la classe implémente
- Cela permet de récupérer quelques avantages de l’héritage multiple
Qu’est-ce-qu’un objet ?
- L’instance d’une classe
- Il contient des attributs et des méthodes
- Pour chaque instance d’une classe, le code est le même, seules les données sont différentes à chaque objet.
Quel est le rôle de l’opérateur ‘new’ ?
C’est un opérateur de haute priorité qui permet de :
- Créer une instance de la classe
- Associer l’instance à une variable ayant le type de l’objet désiré.
- D’appeler une méthode particulière sur cet objet : le constructeur
- Il fait appel à la machine virtuelle pour obtenir l’espace mémoire nécessaire à la représentation de l’objet
- Appelle le constructeur pour initialiser l’objet dans l’emplacement obtenu
- Il renvoie une valeur qui référence l’objet instancié
Que se passe-t-il si l’opérateur ‘new’ n’obtient pas l’allocation mémoire nécessaire ?
Il lève l’exception ‘OutOfMemoryError’