Menu
Coddy logo textTech

Clases vs. Objetos

Parte de la sección Programación Orientada a Objetos del Journey de Java de Coddy — lección 3 de 87.

Una clase es un plano que define la estructura. Un objeto es una instancia específica creada a partir de ese plano.

La clase (plantilla)

public class Car {
    String brand;
    int year;
    
    public Car(String brand, int year) {
        this.brand = brand;
        this.year = year;
    }
    
    public String getInfo() {
        return this.brand + " (" + this.year + ")";
    }
}

Creando objetos (instancias)

Car car1 = new Car("Tesla", 2023);
Car car2 = new Car("Honda", 2020);

System.out.println(car1.getInfo());  // Tesla (2023)
System.out.println(car2.getInfo());  // Honda (2020)

Cada objeto es independiente. Cambiar car1 no afecta a car2. Puedes crear objetos ilimitados a partir de la misma clase, cada uno con sus propios datos.

challenge icon

Desafío

Intermedio

Crea una clase Car (el plano) y el programa creará dos objetos (instancias) diferentes a partir de ella:

  • Campos: brand (String) y year (int)
  • Un constructor que establece ambos campos
  • Un método getInfo() que devuelve "<brand> (<year>)"

Hoja de referencia

Una clase es un plano que define la estructura. Un objeto es una instancia específica creada a partir de ese plano.

Definiendo una clase:

public class Car {
    String brand;
    int year;
    
    public Car(String brand, int year) {
        this.brand = brand;
        this.year = year;
    }
    
    public String getInfo() {
        return this.brand + " (" + this.year + ")";
    }
}

Creando objetos a partir de una clase:

Car car1 = new Car("Tesla", 2023);
Car car2 = new Car("Honda", 2020);

System.out.println(car1.getInfo());  // Tesla (2023)
System.out.println(car2.getInfo());  // Honda (2020)

Cada objeto es independiente con sus propios datos. Puedes crear objetos ilimitados a partir de la misma clase.

Pruébalo tú mismo

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        String brand1 = scanner.nextLine();
        int year1 = Integer.parseInt(scanner.nextLine());
        String brand2 = scanner.nextLine();
        int year2 = Integer.parseInt(scanner.nextLine());
        
        Car car1 = new Car(brand1, year1);
        Car car2 = new Car(brand2, year2);
        
        System.out.println("Car 1: " + car1.getInfo());
        System.out.println("Car 2: " + car2.getInfo());
        System.out.println("Same car? " + (car1 == car2));
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Programación Orientada a Objetos