programmation Flashcards
(44 cards)
classe
Une classe est un fichier texte qui regroupe des propriétés et des méthodes communes à
un ensemble d’objets.
La classe déclare :
- des propriétés représentant l’état des objets.
- des méthodes représentant leur comportement (savoir faire).
En d’autre termes, une classe correspond à une fabrique à objets.
objet
Un objet est un conteneur symbolique et autonome qui contient :
- des propriétés
- des comportement
concernant un sujet.
constructeur
méthode particulière dont le rôle est d’allouer la mémoire
nécessaire à l’objet et d’initialiser toutes ses propriétés.
Où se trouve(nt) le(s) constructeur(s) ?
dans une classe.
Voiture uneVoiture = new Voiture(); Que signifie Voiture
Voiture correspond au type de la variable uneVoiture
Voiture uneVoiture = new Voiture(); Que signifie new Voiture();
new Voiture(); correspond à l’appel du constructeur Voiture() qui va créer l’objet
A quoi correspond une propriété d’un objet ?
Une propriété est un élément de description d’un objet.
Ex : La cylindrée, la couleur, le poids sont des propriétés d’une voiture
Pourquoi est-il recommandé de protéger une propriété avec le mot réservé private ?
Pour empêcher l’accès à cette propriété depuis l’extérieur de l’objet.
Comment accéder à la valeur d’une propriété d’un objet qui a été protégée à l’aide du mot
réservé private ?
A l’aide d’une méthode (getter) de l’objet.
Comment modifier la valeur d’une propriété d’un objet qui a été protégée à l’aide du mot
réservé private ?
A l’aide d’une méthode (setter) de l’objet.
Qu’est ce qu’une méthode ?
nom donné à une fonction d’un objet.
Une méthode correspond à un comportement (savoir-faire) d’un objet.
Peut-on avoir plusieurs constructeurs dans une classe ? Si oui à quelles conditions ? Sinon
pourquoi ?
Oui, on peut avoir autant de constructeurs que nécessaire.
Cela permet de “construire” différemment des objets.
La condition nécessaire est que la signature de chaque constructeur soit différente.
La signature comprend, le nom du constructeur et les types des paramètres.
Exemples :
Cartouche()
Cartouche(double)
Ballon()
Ballon(int)
Ballon(int, String)
Ballon(int, String, double)
Que signifie le mot réservé this ?
this correspond à l’objet que l’on est entrain de manipuler. (L’objet courant)
public class Joueur { private Ballon ballon; public Joueur() { this.ballon = null; } }
Que signifie l’instruction : this.ballon = null; ?
Cela signifie que le joueur ne possède pas de ballon
public class Joueur { private Ballon ballon; public Joueur() { this.ballon; } public void attrappe(Ballon ballon) { this.ballon = ballon; } public ... perdBallon(...) { ... } }
Veuillez compléter la méthode … perdBallon(…) pour que celle-ci rende l’accès au
ballon que le joueur perd.
//... public Ballon perdBallon() { Ballon ballonARendre = this.ballon; this.ballon = null; return ballonARendre; } //...
public class Imprimante { private Feuille[] bacAFeuilles; public Imprimante() { this.bacAFeuilles = new Feuille[100]; } //...
Combien y a-t-il de feuilles dans l’imprimante après la création d’une nouvelle imprimante ?
Aucune !
new Feuille[100] ne crée pas 100 feuilles mais un tableau de 100 cases pouvant pointer
sur 100 feuilles.
Pour l’instant le tableau contient 100 cases contenant null
A quoi doit-on faire attention lorsque l’on manipule une variable de type objet ?
Il faut s’assurer que celui-ci existe !
//... Feuille uneFeuille = imprimante.rendFeuilleImprimee(); if (uneFeuille != null) { // permet d'éviter une potentielle erreur. // au cas où l'imprimante n'a pas pu rendre de feuille ;-) System.out.println(uneFeuille.rendContenu()); }
Sans ce test, une exception de type NullPointerException pourrait survenir !
Que signifie le mot réservé static devant une propriété d’une classe ?
Cela signifie que la propriété est une propriété de classe et non pas une propriété d’un objet
(propriété d’instance). Il n’y aura donc qu’un exemplaire de cette variable !
Une propriété non-static est une propriété qui appartient aux objets. Il y aura donc autant
d’exemplaire de la propriété non-static qu’il y a d’objets.
Que signifie le mot réservé static devant une méthode d’une classe ?
Cela signifie que c’est le savoir-faire (méthode) d’une classe. Pour appeler la méthode, il faut
passer par la classe et non par un objet.
Peut-on accéder à une propriétés d’un objet depuis une méthode de classe ?
Clairement NON !
Car la classe ne peut pas accéder aux objets. (Elle ne dispose pas des adresses des objets
créés)
Peut-on accéder à une propriété de classe depuis une méthode d’un objet ?
Clairement OUI !
Tous les objets ont accès à la classe.
Qu’est ce qu’une ArrayList ?
Une ArrayList est un tableau dynamique (dont la taille peut varier) dans lequel on peut
ajouter/supprimer des éléments
Qu’est ce qu’un type enveloppe ( wrapper type ) ?
Les classes enveloppes permettent d’utiliser des types de données primitifs en tant
qu’objets.
Pour chaque type primitif il existe un type enveloppe correspondant
(boolean - Boolean, byte - Byte, int - Integer, char - Character..)
Peut-on utiliser des types primitifs dans les ArrayList ?
Oui, MAIS il faut utiliser un type enveloppe lors de la déclaration de l’ ArrayList .
import java.util.ArrayList; ... ArrayList listeDeChar = new ArrayList<>(); char char1 = 'b'; listeDeChar.add('a'); listeDeChar.add(char1); for (char unChar : listeDeChar) { System.out.println(unChar); } ... ArrayList listeDeDouble = new ArrayList<>(); double double1 = 123.456; listeDeDouble.add(987.654); listeDeDouble.add(double1); for (double unDouble : listeDeDouble) { System.out.println(unDouble); }