Saltar al contenido principal
Documentos
Java keywordsMatrices JavaProgramación orientada a objetos en JavaJava File HandlingIntroducción a JavaConceptos básicos del lenguaje Java

Clases y objetos Java

En Java, las clases y los objetos son bloques de construcción fundamentales de la programación orientada a objetos. Una clase es un plano para crear objetos, proporcionar valores iniciales a las variables miembro e implementar comportamientos (métodos). Un objeto es una instancia de una clase, que representa una entidad concreta con un estado y un comportamiento definidos.

Clases

Una clase en Java define un nuevo tipo de datos que puede incluir campos (variables) y métodos para definir el comportamiento de los objetos creados a partir de la clase.

Syntax


class ClassName {
    // Fields
    dataType fieldName;

    // Constructor
    ClassName(parameters) {
        // Initialize fields
    }

    // Methods
    returnType methodName(parameters) {
        // Method body
    }
}
  • ClassName: El nombre de la clase.
  • fieldName: Variables que contienen el estado de la clase.
  • Constructor: Método especial utilizado para inicializar objetos.
  • methodName: Funciones definidas dentro de la clase para realizar acciones.

Objetos

Un objeto es una instancia de una clase. Se crea utilizando la palabra clave new seguida del constructor de la clase.

Syntax


ClassName objectName = new ClassName(arguments);
  • objectName: El nombre del objeto.
  • arguments: Valores pasados al constructor para inicializar el objeto.

Ejemplos

Ejemplo 1: Definir una clase y crear un objeto


class Car {
    // Fields
    String color;
    int year;

    // Constructor
    Car(String color, int year) {
        this.color = color;
        this.year = year;
    }

    // Method
    void displayInfo() {
        System.out.println("Car color: " + color + ", Year: " + year);
    }
}

public class Main {
    public static void main(String[] args) {
        // Creating an object
        Car myCar = new Car("Red", 2020);
        myCar.displayInfo(); // Output: Car color: Red, Year: 2020
    }
}

En este ejemplo, la clase Car tiene los campos color y year, un constructor para inicializar estos campos, y un método displayInfo() para mostrar los detalles del coche. Se crea un objeto myCar utilizando la clase Car.

Ejemplo 2: Objetos múltiples


class Dog {
    String name;
    int age;

    Dog(String name, int age) {
        this.name = name;
        this.age = age;
    }

    void bark() {
        System.out.println(name + " says Woof!");
    }
}

public class Main {
    public static void main(String[] args) {
        Dog dog1 = new Dog("Buddy", 3);
        Dog dog2 = new Dog("Max", 5);
        
        dog1.bark(); // Output: Buddy says Woof!
        dog2.bark(); // Output: Max says Woof!
    }
}

Aquí, la clase Dog define un método bark(). Se crean dos objetos Dog, dog1 y dog2, y cada uno de ellos llama al método bark().

Consejos y buenas prácticas

  • Convenciones de nomenclatura: Utiliza camelCase para las variables y los métodos, y PascalCase para los nombres de las clases, para mejorar la legibilidad.
  • Encapsulación: Utiliza modificadores de acceso como private para restringir el acceso a los campos de la clase y proporciona métodos getter y setter públicos para modificarlos.
  • Sobrecarga de constructores: Define varios constructores para inicializar los objetos de distintas formas.

class Book {
    String title;
    String author;

    // Default constructor
    Book() {
        this.title = "Unknown";
        this.author = "Unknown";
    }

    // Parameterized constructor
    Book(String title, String author) {
        this.title = title;
        this.author = author;
    }
}
  • Reutilización de objetos: Crea métodos que puedan reutilizarse en diferentes instancias de la clase.
  • Evita las fugas de memoria: Asegúrate de que los objetos se desreferencian correctamente cuando ya no se necesitan, especialmente en aplicaciones de larga ejecución.

Aprende Java Essentials

Desarrolla tus conocimientos de Java desde la base y domina los conceptos de programación.
Empieza a aprender gratis