Se connecter

Informatique

Programmation

Sujet : [Java] à quoi servent les attributs ?
1
Morrocan47
Niveau 6
21 juillet 2019 à 07:25:05

Je suis débutant et je viens de regarder une vidéo sur les attributs, mais je saisis pas trop l'intérêt pour le moment :(

exemple :

public class Test{
	public Test(String x, int num) {
		
		
		this.mX=x;
		this.mN=num;
		
		System.out.println(mX + " = " + "num" + mN);
		
	}
	
	private String mX;
	private int mN;
}

peut-être remplacé par cette seule ligne :

public class Test{
	public Test(String x, int num) {
		
		
		
		System.out.println(x + " = " + "num" + num);
		
	}
	
	
}

Pourquoi on passe par des attributs qui complexifient le code au lieu de se servir de variables :question:
Si quelqu'un peut m'éclairer et me vulgariser ce à quoi ils pourraient servir plus tard, merci :noel:

LambdaFunction
Niveau 10
21 juillet 2019 à 08:00:30

Les attributs servent à stocker la valeur dans l'objet, pour pouvoir être réutilisée plus tard.
Dans ton exemple, les variables sont volatiles et ne sont plus connues après l'exécution de ta méthode.

Prends du recul sur ta classe et imagine un programme plus complexe. Par exemple la gestion d'un Panier sur un site de e-commerce.

Ce panier sera constitué d'articles.
En pseudo-code (ça ne compile pas, j'ai fait ça à titre d'exemple en étant agnostique d'un langage) :

class Cart {
  List<Article> articles

  add(Article article) {
      articles.add(article)
  }

  Number priceTotal() {
     return loop(articles)
         .sum(price)
  }
}

Si tu ne stockes pas les articles de façon "interne" dans le panier... tu perdras la donnée et ne seras pas en mesure de connaître la liste de tous les articles quand tu passeras la commande ou de connaître le prix total à payer.

Nefr2
Niveau 34
21 juillet 2019 à 19:36:38

L'exemple que tu as trouvé est pas fou aussi il porte à confusion :ok:

 public Test(String x, int num) 

permet de construire un objet de type Test, il a pas vocation a effectuer des tâches comme afficher une somme. Ici en affichant un truc il voulait juste montrer qu'on peut utiliser les attributs quoi, mais c'est pas le but réel de la création d'objet :hap:

Un objet c'est comme un nouveau type de variable. Par exemple si je veux un objet Localisation, qui contient des coordonnés. Il me faudra deux attributs int longitude et int latitude. Et j’obtiendrai un "nouveau type de variable" qui stock des localisations sur le globe :ok:

PatateChaude16
Niveau 7
23 juillet 2019 à 16:16:44

C'est comme stocker la largeur et la longueur d'un objet rectangle :hap:

Yllid
Niveau 16
30 juillet 2019 à 00:27:04

Vu l'exemple que tu donnes l'auteur tu ne dois pas avoir entendu parler de programmation orientée objet. Va te documenter sur le sujet, tout deviendra plus clair

1
Sujet : [Java] à quoi servent les attributs ?
   Retour haut de page
Consulter la version web de cette page