name: portada class: portada-slide, center, middle # Funcions d'una classe .footnote[Joan Puigcerver Ibáñez] --- layout: true class: regular-slide .right[.logo[]] --- # Static vs Class Mira els següents exemples de crides: ``` int min = Math.min(2,3); String newString = string.replace("a", "b"); Rectangle rectangle = Rectangle.readRectangle(scanner); int width = rectangle.getWith(); ``` --- # Static vs Class Mira els següents exemples de crides: ### Funcions estàtiques ``` int min = Math.min(2,3); Rectangle rectangle = Rectangle.readRectangle(scanner); ``` ### Funcions d'una classe ``` String newString = string.replace("a", "b"); int width = rectangle.getWith(); ``` --- # Class Functions - Les funcions d'una classe ens permeten treballar amb els contiguts de la instància. - rectangle.getWith() - retorna l'amplada del rectangle - string.replace("a", "b") - retorna l'string substiuint les As per Bs. --- # Class Functions - Per definir una funció d'una classe no usem _static_ a la definició. ``` public double getWith() ``` --- # Class Functions - Desde dins del mètode podem accedir als atributs de la classe ``` public double getWidth(){ return width; // o this.width } ``` --- # Class Functions - La variable __this__ fa refenrencia a l'instància actual. ``` public void setWidth(double width) { this.width = width; } ``` --- # Funcions - Els getters i setters són funcions de la classe - - Podem definir altres funcions a una classe --- # Altres funcions - Podem definir més funcions a una classe ``` public class Rectangle { double height; double width; // ... public double getArea(){ return height*width; } } ``` --- # Funcions - toString() - Hi ha una funció anomenada _String toString()_ - S'usa per la conversió a String ``` @Override public String toString() { return "Rectangle{height=" + height + ", width=" + width + '}'; } ```