Différences entre les versions de « Java/Classes et objets »

m
Bot : Remplacement de texte automatisé (- {,2}\| ?suivant {,5}= ?\[\[([\w\s]*)\/([\w\s]*)\|([\w\s]*)\]\] + | suivant = ../\2/); changement de type cosmétique
m (Bot : Remplacement de texte automatisé (- {,2}\| ?suivant {,5}= ?\[\[([\w\s]*)\/([\w\s]*)\|([\w\s]*)\]\] + | suivant = ..//); changement de type cosmétique)
|numero=7
|précédent=[[Java/Tableaux|Tableaux]]
| suivant = [[Java../Héritage et polymorphisme|Héritage et polymorphisme/]]
}}
== Introduction ==
Le terme orienté objet souvent lié au langage Java vient d’une part du fait que l’on peut :
*Créer des objets
Le terme ''static'' permet aussi de spécifier des variables de classe ou des méthodes de classe.
 
== Créer une classe permettant de créer des objets ==
La première étape pour créer de nouveaux objets est de créer une nouvelle classe de façon particulière. C'est ce que l'on va voir avec l'exemple de la classe ''Point''.
 
Cet exemple mérite des éclaircissements qui vont être donnés dans la suite.
 
== Variables de classe/d'instance ==
Dans l'exemple de classe que nous avons ici, il apparaît une variable de classe et deux variables d'instance. Quelle est donc la différence entre ces deux types de variables lors de la création d'un objet ?
 
Chaque instance de l'objet (ici chaque Point) aura des valeurs différentes pour ces variables, elles sont réellement sa représentation, et contrairement aux variables de classes, ce sont bien ces données-là qui seront manipulées lors de l'exécution du programme.
 
== Constructeur ==
Le '''constructeur''' comme son nom l'indique est la méthode qui sert à créer une instance d'un objet. Sa déclaration est particulière puisqu'un constructeur ne retourne rien (on ne peut pas avoir ''return'' dans un constructeur). On peut remarquer ici qu'il y a deux constructeurs :
*le constructeur par défaut, sans argument, il se contentera d'appeler le deuxième constructeur avec 0 et 0 en argument.
</source>
 
== Accesseurs ==
Les '''accesseurs''' sont les méthodes, et d'ailleurs les seules, qui accèdent directement aux variables d'instance. Ainsi, ces méthodes seront utilisées dans les constructeurs, dans les méthodes d'instances, mais aussi dans toute autre méthode qui nécessitera une donnée particulière de notre objet.
 
Le grand intérêt des accesseurs est de rendre indépendant tout le reste du code de la représentation de l'objet. Pour s'en convaincre, l'exemple des nombres complexes en représentation cartésienne puis en polaire est très bon à faire.
 
== Méthodes de classe/d'instance ==
Les méthodes de classe et d'instance se différencient exactement de la même manière que les variables de classe ou d'instance. Ainsi, on appelle une méthode de classe (prenons l'exemple de la classe Point) par ''Point.quelleDimension()''. Les méthodes d'instance ne s'appliquent qu'à une instance de classe, il est donc nécessaire de créer au moins un objet pour pouvoir appeler ces méthodes.
 
On a donc créé une instance à laquelle on a appliqué des méthodes.
 
{{Bas de page|idfaculté=informatique|leçon=[[Java]]|précédent=[[Java/Tableaux|Tableaux]] | suivant = [[Java../Héritage et polymorphisme|Héritage et polymorphisme/]]}}
140 775

modifications