name: portada class: portada-slide, center, middle # Introducció a Classes .footnote[Joan Puigcerver Ibáñez] --- layout: true class: regular-slide .right[.logo[]] --- # Introducció Intenta fer l'exercici següent - [FromAvgSallaryInfo](exercicis/02_intro_classes.html)
--- # Classes - int - String - List < String > - Product? --- # (Data) Classes Product(String name, double price) ??? public record Product (String name, String address) {} --- # Java classes - Nova classe Rectangle - fitxer anomenat Rectangle ``` public class Rectangle { // atributs de la classe double height; double width; // ... } ``` --- # Constructora - La constructora és èl mètode que s'executa al fer un new d'una classe. - El nom del mètode ha de ser igual que el de la classe - No s'especifica retorn ``` public Rectangle(double height, double width) { this.height = height; this.width = width; } ``` ``` Rectangle rectangle = new Rectangle(2.4, 3.5); ``` --- # Getter - Per accedir al valor del attributs d'una classe hem d'afegir els getters ``` public double getWith(){ return with; } ``` ``` double with = rectangle.getWith(); ``` --- # Setter - Per modificar el valor d'una atribut d'una classe hem d'afegir el setter - La variable __this__ fa refenrencia a l'instància actual. ``` public void setWidth(double width) { this.width = width; } ``` ``` rectangle.setWith(2.4); ``` --- # Nomenclatura - Anomenarem classe a la definició: Rectangle - Anomenarem instància a cada rectangle - cada cop que fem un _new_ creem una instància.