Jump to content

[JAVA] Encapsulation, public/private ....


Sarvok

Recommended Posts

Salut à tous,

J'ai pas mal de DM D'info à faire en Java. Je n'ai pas forcément suivi les cours et du coup je ne sais pas à quoi servent les mots clés public et private .... Apparemment ça protége les données de je sais pas quoi (encapsulation). Pouvez-vous me dire à quoi sert concretement l'encapsulation ?

D'avance, merci

Link to comment
Share on other sites

:roll: Tsss...pas bien de sécher les cours :zarb:

Bon alors dans l'ordre de visibilité, du plus fort au plus faible, on a

public

default

protected

private

avec sans doute des attributs intermédiaires.

public : visible pour tout le monde, partout.

default : visible pour les classes du package.

protected : visible uniquement pour la classe courante et ses héritières.

private : visible uniquement pour la classe courante.

Par ex, si tu fais

class A {

private int n;
protected double y;
}

class B extends A {

this.n //--> erreur, pas possible...faut faire une méthode au moins protected dans A pour accéder à la valeur de n.
this.y // ok, puisque protected.

}

Voili...

Link to comment
Share on other sites

Bon là visiblement tu as séché même les cours de base...

Pour corriger un autre post plus haut...

En java les membres d'une classe (méthodes et attributs) sont plus ou moins visibles depuis les autres classes.

Du plus visible au moins visible on a :

- public (mot-clé : public) : tout le monde peut y accéder.

- protected (mot-clé : protected) : toutes les classes du même package, ainsi que toutes les classes (quel que soit leur package) dérivant de la classe peuvent y accéder.

- package (pas de mot-clé) : seules les classes appartenant au même package peuvent y accéder.

- private (mot-clé : private) : seules la classe elle-même peut accéder à ses membres.

En pratique, cela sert à contrôler ce qu'une classe expose aux autres. Une bonne pratique consiste à n'exposer que le strict minimum nécessaire, pour des raisons de maintenabilité et de découplage des classes.

Maintenant, je te recommande vivement :

1. D'aller en cours. L'année d'études n'est pas donnée (appart, école, etc), et tu devrais avoir honte de gâcher la confiance et les ressources de tes parents.

2. D'acheter les livres de référence de chez Sun en personne. Ils sont très bons et surtout très didactiques.

Link to comment
Share on other sites

Salut à tous,

J'ai pas mal de DM D'info à faire en Java. Je n'ai pas forcément suivi les cours et du coup je ne sais pas à quoi servent les mots clés public et private .... Apparemment ça protége les données de je sais pas quoi (encapsulation). Pouvez-vous me dire à quoi sert concretement l'encapsulation ?

D'avance, merci

Ah c'est toi !

C'est gentil de le dire sur un forum que je fréquente comme ça, je sais déjà quelle note te mettre. :mdr:

:mdr:

t'as de la chance, ça ira pour cette fois.

Mais avis aux amateurs : y a pas que des étudiants sur ce forum :mdr:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...