Les classes en Java

Cette page présente les particularités d'une classe en Java, mais vous pouvez consulter la page relative aux objets, classes et méthodes dans la partie Principes de programmation.

Les programmeurs C++ peuvent se référer aux pages relatives aux classes en C++ pour constater les différences de syntaxe.

Syntaxe des classes en Java

spécificateur_d_accès  class nom_classe{
/* déclaration des variables */
spécificateur_d_accès type nom;

/* constructeur */
spécificateur_d_accès nom_classe (type_paramètre nom_paramètre){
/* corps du constructeur */

}
}

Spécificateurs d'accès en Java

public

Tous les membres (attributs ou méthodes) d'une classe définis avec le mot clé public sont utilisables par tous les objets. Ce type de protection est employé pour indiquer que nous pouvons utiliser sans contrainte les attributs et méthodes d'une classe. Il s'agit du niveau de protection le plus bas.
Nous éviterons de déclarer les donnée publiques : nous utiliserons des méthodes pour y accéder en lecture ou en modification.

package

Les packages (ou paquets) permettent de regrouper des classes Java. Cela signifie dans ce cas que tous les membres d'une classe définis avec ce niveau de protection peuvent être utilisés par les autres classes du même package.
Lorsque nous ne spécifions pas d'accès particulier, c'est ce type de niveau d'accès qui sera utilisé par défaut. Nous retrouvons parfois la notion de "package" sous le nom friendly.

protected

Tous les membres d'une classe définis avec le mot clé protected sont utilisables uniquement par les méthodes de la classe, par les méthodes des classes dérivées et par les méthodes des classes appartenant au même package. Cette technique de protection est fortement associée à la notion d'héritage.
On ne peut pas qualifier une classe avec le mot clé protected.

private

Niveau de protection le plus élevé. La visibilité ne porte qu'à l'intérieur de la classe. Tous les membres d'une classe définis avec le mot clé private sont utilisables uniquement par les méthodes de la classe. C'est pour cette raison que nous utiliserons des méthodes définies dans la classe pour contrôler l'accès à ces données.
Les variables appartenant à une classe sont généralement déclarées comme privées.

Exemples de classes en Java

  1. public class eleve {
  2. private String nom;
  3. private String description;
  4. private int nb_presences;
  5. private String mail;
  6. //constructeur
  7. public eleve( String nom, String description, int nb_presence, String mail ){
  8. nom = setNom(nom);
  9. description = setDescription(description);
  10. nb_presences = setPresences(nb_presence);
  11. mail = setMail(mail);
  12. }
  13. //méthodes
  14. public void envoie_mail( ){
  15. System.out.println("Hello " + this.getNom);
  16. }
  17. //setters
  18. public void setNom( String nom ){
  19. this.nom = nom;
  20. }
  21. public void setDescription( String description ){
  22. this.description = description;
  23. }
  24. public void setPresences( int nb_presences ){
  25. this.nb_presences = nb_presences;
  26. }
  27. //getters
  28. public String getNom( ){
  29. return this.nom;
  30. }
  31. public String getDescription( ){
  32. return this.description;
  33. }
  34. public int getPresences( ){
  35. return this.nb_presences;
  36. }
  37. }

Nederlandse vertaling

U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.

Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.

Bij voorbaat dank.

Document heeft de 08/05/2005 gemaakt, de laatste keer de 26/10/2018 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/java-class.html

De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.