Ordenador con código fuente rodeado de infinidad de objetos.

Clases y objetos en Java: declaración

Guía de programación en Java > Clases y objetos

La programación en Java gira en torno al uso de clases. Las clases son la base de la Programación Orientada a Objetos (POO). Gracias a las clases podrás estructurar el código de manera organizada y reutilizable. En esta sesión, aprenderemos a declarar y usar clases en Java desde cero.


¿Qué es una Clase?

Una clase es un modelo o plantilla que define las propiedades (atributos) y comportamientos (métodos) de un objeto. Es como un plano que describe cómo será un objeto en el programa.

Estructura básica de una clase en Java

public class NombreDeLaClase {
    // Atributos
    tipo nombreDelAtributo;

    // Métodos
    public void nombreDelMetodo() {
        // Código del método
    }
}

¿Cómo declarar una clase en Java?

Paso 1: Crear un archivo Java

  1. Abre tu entorno de desarrollo (Eclipse, IntelliJ IDEA o NetBeans).
  2. Crea un nuevo archivo llamado NombreDeLaClase.java.

Paso 2: Definir la clase

Crearemos un archivo Persona.java con la definición de la clase. En principio y por ahora en cada archivo .java solo vamos a crear una única clase. Además, como habrás comprobado, el archivo se va a llamar igual que la clase. Es recomendable, por convenio, usar la primera letra tanto del nombre del archivo como de la clase en mayúscula. Por ejemplo, en el archivo Coche.java crearíamos la clase Coche.

Una vez creado el archivo, dentro de él, usa la palabra clave class para declarar una clase. En esa clase deberán ir definidos tanto los atributos como los métodos que la caracterizan. Por ejemplo:

public class Persona {
    // Atributos
    String nombre;
    int edad;

    // Métodos
    public void saludar() {
        System.out.println("Hola, mi nombre es " + nombre);
    }
}

Paso 3: Usar objetos de la clase

Para usar una clase, necesitas crear un objeto de esa clase. Un objeto es una instancia de la clase y tiene sus propios valores para los atributos definidos.

Crea en la misma carpeta un archivo de nombre Main.java con una nueva clase que llamaremos Main. Dentro de esta clase escribimos método main. Aunque al principio pueda parecer un poco lioso, es bueno acostumbrarle a hacerlo así. De esta manera no haremos presunciones sobre cuestiones importantes como la privacidad, que veremos más adelante.

En el método main, crea un objeto de la clase Persona y utiliza sus atributos y métodos:

public class Main {
    public static void main(String[] args) {
        // Crear un objeto de la clase Persona
        Persona persona1 = new Persona();

        // Asignar valores a los atributos
        persona1.nombre = "Carlos";
        persona1.edad = 20;

        // Llamar al método
        persona1.saludar();
    }
}

Salida esperada

Hola, mi nombre es Carlos.

Detalle de los componentes de una clase

1. Atributos

Los atributos son las características o propiedades de un objeto. Se declaran dentro de la clase y fuera de cualquier método.

Ejemplo:

String nombre;
int edad;
boolean jubilado;

2. Métodos

Los métodos son las acciones que un objeto puede realizar. Se definen dentro de la clase.

Ejemplo:

public void saludar() {
    System.out.println("Hola, soy " + nombre + " y tengo " + edad + " años");
}


Ejercicio práctico

Instrucciones

  1. Crea una clase llamada Coche con los siguientes atributos:
    • marca (String)
    • modelo (String)
    • velocidad (int)
  2. Define dos métodos:
    • acelerar: Incrementa la velocidad en 10.
    • frenar: Decrementa la velocidad en 10.
  3. Crea un objeto de la clase Coche y prueba sus métodos.

Solución sugerida

Clase Coche

public class Coche {
    String marca;
    String modelo;
    int velocidad;

    public void acelerar() {
        velocidad += 10;
        System.out.println("El coche ha acelerado. Velocidad actual: " + velocidad + " km/h");
    }

    public void frenar() {
        velocidad -= 10;
        System.out.println("El coche ha frenado. Velocidad actual: " + velocidad + " km/h");
    }
}

Uso de la clase Coche

public class Main {
    public static void main(String[] args) {
        Coche miCoche = new Coche();
        miCoche.marca = "Toyota";
        miCoche.modelo = "Corolla";
        miCoche.velocidad = 0;

        miCoche.acelerar();
        miCoche.acelerar();
        miCoche.frenar();
    }
}

Salida esperada

El coche ha acelerado. Velocidad actual: 10 km/h
El coche ha acelerado. Velocidad actual: 20 km/h
El coche ha frenado. Velocidad actual: 10 km/h


Otro ejercicio práctico

Instrucciones

  1. Define una clase llamada Libro con los siguientes atributos:
    • titulo (String)
    • autor (String)
    • paginas (int)
    • paginasLeidas (int)
  2. Crea dos métodos:
    • leerPagina: Incrementa el contador paginasLeidas.
    • mostrarInformacion: Muestra el título, autor y número de páginas.

Solución sugerida:

Clase coche:

public class Libro {
    String titulo;
    String autor;
    int paginas;
    int paginasLeidas = 0;

    public void leerPagina() {
        if (paginasLeidas < paginas) {
            paginasLeidas++;
            System.out.println("Página " + paginasLeidas + " leída.");
        } else {
            System.out.println("Ya has terminado el libro.");
        }
    }

    public void mostrarInformacion() {
        System.out.println("Título: " + titulo);
        System.out.println("Autor: " + autor);
        System.out.println("Páginas: " + paginas);
    }
}

Uso de la clase Libro:

public class Main {
    public static void main(String[] args) {
        Libro miLibro = new Libro();
        miLibro.titulo = "El Quijote";
        miLibro.autor = "Miguel de Cervantes";
        miLibro.paginas = 500;

        miLibro.mostrarInformacion();
        miLibro.leerPagina();
        miLibro.leerPagina();
    }
}

Salida esperada:

Título: El Quijote
Autor: Miguel de Cervantes
Páginas: 500
Página 1 leída.
Página 2 leída.


Resumen

  • Una clase es una plantilla que define atributos y métodos.
  • Los objetos son instancias de una clase y tienen valores únicos para sus atributos.
  • Crear y usar clases permite organizar y reutilizar el código de manera eficiente.

Tarea adicional: Crea una clase llamada Producto con atributos como nombre y precio, y métodos como mostrarInformación y subirPrecio. Implementa un programa que cree varios objetos Producto y llame a sus métodos.

¡Sigue practicando para dominar el uso de clases en Java! 🚀


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.