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
Si quelqu'un peut m'éclairer et me vulgariser ce à quoi ils pourraient servir plus tard, merci
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.
L'exemple que tu as trouvé est pas fou aussi il porte à confusion
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
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
C'est comme stocker la largeur et la longueur d'un objet rectangle
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