Els mètodes són blocs de codi que realitzen una tasca específica i poden ser cridats des de diferents parts del programa. Els mètodes ajuden a organitzar el codi, fer-lo més llegible i reutilitzable. En aquest tema, aprendrem com definir i utilitzar mètodes en Java.

Continguts

Definició de Mètodes

Un mètode en Java es defineix dins d'una classe i té la següent estructura bàsica:

public class MyClass {
    // Definició d'un mètode
    public void myMethod() {
        // Codi del mètode
    }
}

Components d'un Mètode

  • Modificadors d'Accés: Defineixen la visibilitat del mètode (public, private, protected).
  • Tipus de Retorn: Indica el tipus de valor que el mètode retorna. Si no retorna res, es fa servir void.
  • Nom del Mètode: Identificador únic del mètode.
  • Paràmetres: Llista de variables que el mètode accepta com a entrada (opcional).
  • Cos del Mètode: Bloc de codi que s'executa quan el mètode és cridat.

Paràmetres i Arguments

Els paràmetres són variables que es defineixen en la signatura del mètode i que reben els valors passats quan el mètode és cridat. Els arguments són els valors reals passats al mètode.

public class MyClass {
    // Mètode amb paràmetres
    public void greet(String name) {
        System.out.println("Hello, " + name);
    }
    
    public static void main(String[] args) {
        MyClass obj = new MyClass();
        // Crida al mètode amb un argument
        obj.greet("Alice");
    }
}

Tipus de Retorn

El tipus de retorn d'un mètode indica el tipus de valor que el mètode retorna. Si el mètode no retorna cap valor, es fa servir void.

public class MyClass {
    // Mètode que retorna un valor
    public int add(int a, int b) {
        return a + b;
    }
    
    public static void main(String[] args) {
        MyClass obj = new MyClass();
        int result = obj.add(5, 3);
        System.out.println("Result: " + result);
    }
}

Sobrecàrrega de Mètodes

La sobrecàrrega de mètodes permet definir múltiples mètodes amb el mateix nom però amb diferents signatures (nombre o tipus de paràmetres).

public class MyClass {
    // Sobrecàrrega de mètodes
    public int add(int a, int b) {
        return a + b;
    }
    
    public double add(double a, double b) {
        return a + b;
    }
    
    public static void main(String[] args) {
        MyClass obj = new MyClass();
        System.out.println("Int add: " + obj.add(5, 3));
        System.out.println("Double add: " + obj.add(5.5, 3.3));
    }
}

Exemples Pràctics

Exemple 1: Mètode sense Paràmetres i sense Retorn

public class MyClass {
    public void printMessage() {
        System.out.println("Hello, World!");
    }
    
    public static void main(String[] args) {
        MyClass obj = new MyClass();
        obj.printMessage();
    }
}

Exemple 2: Mètode amb Paràmetres i amb Retorn

public class MyClass {
    public int multiply(int a, int b) {
        return a * b;
    }
    
    public static void main(String[] args) {
        MyClass obj = new MyClass();
        int result = obj.multiply(4, 5);
        System.out.println("Multiplication Result: " + result);
    }
}

Exercicis

Exercici 1: Crear un Mètode per Calcular l'Àrea d'un Rectangle

Descripció: Escriu un mètode calculateArea que accepti l'amplada i l'alçada d'un rectangle i retorni la seva àrea.

public class Rectangle {
    public int calculateArea(int width, int height) {
        // Escriu el teu codi aquí
    }
    
    public static void main(String[] args) {
        Rectangle rect = new Rectangle();
        int area = rect.calculateArea(5, 7);
        System.out.println("Area: " + area);
    }
}

Solució:

public class Rectangle {
    public int calculateArea(int width, int height) {
        return width * height;
    }
    
    public static void main(String[] args) {
        Rectangle rect = new Rectangle();
        int area = rect.calculateArea(5, 7);
        System.out.println("Area: " + area);
    }
}

Exercici 2: Crear un Mètode per Determinar si un Nombre és Parell

Descripció: Escriu un mètode isEven que accepti un nombre enter i retorni true si el nombre és parell i false si és imparell.

public class NumberCheck {
    public boolean isEven(int number) {
        // Escriu el teu codi aquí
    }
    
    public static void main(String[] args) {
        NumberCheck check = new NumberCheck();
        boolean result = check.isEven(4);
        System.out.println("Is 4 even? " + result);
    }
}

Solució:

public class NumberCheck {
    public boolean isEven(int number) {
        return number % 2 == 0;
    }
    
    public static void main(String[] args) {
        NumberCheck check = new NumberCheck();
        boolean result = check.isEven(4);
        System.out.println("Is 4 even? " + result);
    }
}

Conclusió

En aquest tema, hem après com definir i utilitzar mètodes en Java. Hem vist com passar paràmetres, retornar valors i sobrecarregar mètodes. Els mètodes són una eina fonamental per organitzar i reutilitzar el codi, i són essencials per escriure programes eficients i mantenibles. A continuació, passarem a estudiar els constructors, que són una part important de la creació d'objectes en Java.

Curs de Programació en Java

Mòdul 1: Introducció a Java

Mòdul 2: Flux de Control

Mòdul 3: Programació Orientada a Objectes

Mòdul 4: Programació Orientada a Objectes Avançada

Mòdul 5: Estructures de Dades i Col·leccions

Mòdul 6: Gestió d'Excepcions

Mòdul 7: Entrada/Sortida de Fitxers

Mòdul 8: Multithreading i Concurrència

Mòdul 9: Xarxes

Mòdul 10: Temes Avançats

Mòdul 11: Frameworks i Llibreries de Java

Mòdul 12: Construcció d'Aplicacions del Món Real

© Copyright 2024. Tots els drets reservats