Bonsoir à tous
je voudrais savoir la nuance entre Fonction et Objet
Merci
Bonsoir à tous
je voudrais savoir la nuance entre Fonction et Objet
Merci
Une fonction te permet de faire un traitement d'informations.
Un objet contient des informations et des méthodes pour traiter ses informations.
PS : je suis aussi débutant donc ma définition pourrait être erroné...
Merci...mais je voudrais que l'on me l'explique avec des exemples de la vie courante du genre '' préparation du Café ;du Thé....''en gros un exemple palpable
Concretement on pourrait par exemple représenter une personne par un objet :
Ici on représente une personne par un ensemble d'attribut, que constitue le nom, le sexe et l'âge.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public class Personne { private String name; private String sexe; private int age; Personne(String name, String sexe, int age){ this.name = name; this.sexe = sexe; this.age = age; } }
Ainsi quand l'on utilisera le constructeur de la class Personne, cela voudra dire que l'on instanciera cette class ; On pourra traduire ça ici par la création d'une Personne.
En fait il faut voir un objet comme quelque chose qui va exister de manière "matérielle" (comme pour le cas d'une personne) ou "immatérielle", comme si l'on créait par exemple un objet Lumière (qui est un concept auquel on peut attacher des propriétés physiques, mais qui au contraire d'une personne ne peut pas être physiquement palpable)
Une fonction, ou plutôt une méthode en Java, permet la modification des objets ou bien de faire des traitements de calcul au sein d'un objet.
Par exemple nous pourrions très bien créer une méthode Vieillir() sur notre objet Personne :
Et l'appel se fera de cette manière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public void Vieillir() { age++; }
L'utilisation de la méthode Vieillir() entrainera la modification d'un attribut de l'objet pers. On verra ainsi l'age s'incrémenter, l'objet étant donc modifié.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Personne pers = new Personne("Jean", "Masculin", 30); pers.Vieillir();
En fait il faut donc essayer de voir un Objet comme une entité pouvant accomplir ou recevoir des actions, celles-ci étant représentées par les méthodes.
J'espère, avoir réussi à t'éclairer,
Cordialement,
Azramis
Si on laisse de côté les fonctions statiques, les fonctions "ordinaires" sont rattachées à un type d'objet, dans une classe qui défini les propriétés de l'objet (attributs et fonctions). Il faut voir la classe comme une définition qui indique comment créer un objet (quels sont ses attributs), et comment l'utiliser (que puis-je faire de cet objet, en clair quelles sont ses fonctions).
Pour prendre un exemple concret, on pourrait imaginer une classe Voiture ayant comme propriété la vitesse. Cette classe pourrait être doté de fonctions ralentir et accélérer.
Pour utiliser une telle classe, il faut l'instancier, c'est-à-dire se servir de cette classe pour créer un objet. La classe, c'est le modèle, tandis que l'objet est un exemplaire de ce modèle, on dit une instance de la classe.
Une fois la classe instanciée, il devient possible de manipuler cet objet grâce aux fonctions dont il dispose, ralentir et accélérer, ce qui a pour effet de modifier son état, c'est-à-dire la valeur de ses attributs, en l'occurrence la vitesse.
Définition de la classe Voiture :
Exemple d'utilisation de cette classe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public class Voiture { private int vitesse = 0; public void ralentir() { vitesse--; } public void accelerer() { vitesse++ } public int getVitesse() { return vitesse; } }
[EDIT] Je n'ai pas dégainé assez vite
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public static void main(String[] args) { Voiture voiture = new Voiture(); for (int i = 0; i < 90; i++) { voiture.accelerer(); } // la voiture a atteint la vitesse de 90 km/h System.out.println("Vitesse de croisière : " + voiture.getVitesse()); while (voiture.getVitesse() > 0) { voiture.ralentir(); } // la voiture est maintenant arrêtée }![]()
Merci beaucoup vos interventions vont me permettre de m'initier dans la programmation orienté objet
Partager