Menu
Coddy logo textTech

Classes vs Objetos

Parte da seção Programação Orientada a Objetos do Journey de Java da Coddy — lição 3 de 87.

Uma classe é um modelo que define a estrutura. Um objeto é uma instância específica criada a partir desse modelo.

A classe (molde)

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 + ")";
    }
}

Criando objetos (instâncias)

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 é independente. Alterar car1 não afeta car2. Você pode criar objetos ilimitados a partir da mesma classe, cada um com seus próprios dados.

challenge icon

Desafio

Médio

Crie uma classe Car (o modelo) e o programa criará dois objetos (instâncias) diferentes a partir dela:

  • Campos: brand (String) e year (int)
  • Um construtor que define ambos os campos
  • Um método getInfo() que retorna "<brand> (<year>)"

Folha de consulta

Uma classe é um modelo que define a estrutura. Um objeto é uma instância específica criada a partir desse modelo.

Definindo uma classe:

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 + ")";
    }
}

Criando objetos a partir de uma classe:

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 é independente com seus próprios dados. Você pode criar objetos ilimitados a partir da mesma classe.

Experimente você mesmo

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 iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Programação Orientada a Objetos