OVH Cloud OVH Cloud

[débutant] quelques définitons,

3 réponses
Avatar
Julien Ghaye
Bonjour,

Je me suis mis au java depuis quelques jours et j'aurai quelques
questions concerant le vocabulaire et les déclarations.

- Qu'entend-t-on par 'une spécialisation de classe'
- Dans la déclaration d'une nouvelle classe, que veulent dire les
attributs [abstract] et [final] ?
- Dans la déclaration d'une méthode, que veulent dire les attributs
[abstract], [final] et [synchronized] ?
- Dans la déclaration d'une nouvelle variable (non local), que veut dire
l'attributs [volatile] ?

Un grand merci pour vos réponses ;-) (si vous avez des exemples à me
proposer, ce sera encore mieux :p)

--
/---------------------------\
| Julien Ghaye |
| j.ghaye@student.ulg.ac.be |
\---------------------------/

3 réponses

Avatar
Simon OUALID
Julien Ghaye wrote:
- Qu'entend-t-on par 'une spécialisation de classe'


On dit qu'on spécialise une classe quand on crée une classe héritant de
celle ci.

- Dans la déclaration d'une nouvelle classe, que veulent dire les
attributs [abstract] et [final] ?


Pour une classe, "final" signifie qu'elle ne pourra pas être
spécialisée. Pour une méthode, cela signifie qu'elle ne pourra pas être
surchargée ou redéfinie. Pour une variable ou un pointeur, cela signifie
qu'elle ne pourra être redéfinie/réaffectée.

"abstract" signifie que toutes les méthodes déclarées dans une classe ne
sont pas codée. Auquel cas le prototype de ces méthodes sera lui aussi
préfixé par le mot clef "abstract".

- Dans la déclaration d'une méthode, que veulent dire les attributs
[abstract], [final] et [synchronized] ?


"synchronized" signifie que la méthode ou la section critique concernée
ne pourra être accédée simultanément par plusieurs threads.

- Dans la déclaration d'une nouvelle variable (non local), que veut dire
l'attributs [volatile] ?


Cela signifie que cette variable/pointeur ne peut être modifiée par
plusieurs threads simultanément.

Un grand merci pour vos réponses ;-) (si vous avez des exemples à me
proposer, ce sera encore mieux :p)



Voila, voir Google pour exemples/détails. :)

Symon

Avatar
Pif
- Qu'entend-t-on par 'une spécialisation de classe'


spécialiser une classe A c'est créer une classe B extends A en java,
c'est à dire qui ( hérite des | étend les ) propriétés de A

- Dans la déclaration d'une nouvelle classe, que veulent dire les
attributs [abstract] et [final] ?
- Dans la déclaration d'une méthode, que veulent dire les attributs
[abstract], [final] et [synchronized] ?


abstract : creer une classe abstraite, c'est une classe qui ne pourra
jamais être instanciée. Une méthode abstrate est une méthode qui n'a pas
de corps, mais uniquement un entete.
Toute classe qui contient une méthode abstraite est abstraite.
Une méthode abstraite doit systématiquement être "remplie" dans les
classes non abstraites qui en héritent...


final : constante, ne pourra plus être modifiées
synchronized : permet de gerer l'exclusion mutuelle sur un ensemble
d'instruction, de définir un bloc d'instruction atomique... en gros
d'isoler la section critique pour reprendre le jargon multithread

- Dans la déclaration d'une nouvelle variable (non local), que veut dire
l'attributs [volatile] ?


oups, je m'en rapele plus, j'ai jamais utilisé... dans mes souvenirs
c'était pour les membre d'une classe qu'on ne voulait pas sérialiser...
et qui n'ont pas de durée de vie supérieure à celle de la machine
virtuelle ;)


Un grand merci pour vos réponses ;-) (si vous avez des exemples à me
proposer, ce sera encore mieux :p)



y'a plein de bouquins qui sont pas mal pour apprendre à programmer, tu
auras explications, définitions, exemples et exercices...

Avatar
Arnaud W.

Bonjour,

Je me suis mis au java depuis quelques jours et j'aurai quelques
questions concerant le vocabulaire et les déclarations.


Un des meilleurs tutorial Java (en français) sur le net (qui explique
tous ces concepts) :
http://jmdoudoux.developpez.com/java/

Arnaud W.
http://awr.free.fr