// 01

/*class Produto {
    private nome: string;
    private preco: number;

    constructor(nome: string, preco: number) {
        this.nome = nome;
        this.preco = preco;
    }

    public obterNome(): string {
        return this.nome;
    }

    public obterPreco(): number {
        return this.preco;
    }
}

// Criando 5 objetos Produto
const produto1 = new Produto("Notebook", 3500);
const produto2 = new Produto("Smartphone", 1500);
const produto3 = new Produto("Tablet", 1200);
const produto4 = new Produto("Fone de Ouvido", 250);
const produto5 = new Produto("Teclado", 180);

// Array com todos os produtos
const produtos: Produto[] = [produto1, produto2, produto3, produto4, produto5];

// Imprimindo todos os produtos
console.log("Lista de Produtos:");
produtos.forEach((produto, index) => {
    console.log(`Produto ${index + 1}:`);
    console.log(`Nome: ${produto.obterNome()}`);
    console.log(`Preço: R$ ${produto.obterPreco().toFixed(2)}`);
    console.log("-------------------");
});*/


// 02
/*class Cliente {
    private nome: string;
    private cpf: string;
    private endereco: string;

    constructor(nome: string, cpf: string, endereco: string) {
        this.nome = nome;
        this.cpf = cpf;
        this.endereco = endereco;
    }

    public listarCliente(): void {
        console.log("Dados do Cliente:");
        console.log(`Nome: ${this.nome}`);
        console.log(`CPF: ${this.formatarCPF(this.cpf)}`);
        console.log(`Endereço: ${this.endereco}`);
    }

    private formatarCPF(cpf: string): string {
        return cpf.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/, "$1.$2.$3-$4");
    }
}

// Criando um cliente
const cliente1 = new Cliente(
    "João Silva",
    "12345678901",
    "Rua das Flores, 123 - Centro"
);

// Listando os dados do cliente
cliente1.listarCliente();*/


// 03
class Veiculo {
    private nomeVeiculo: string;
    private placa: string;
    private cor: string;

    constructor(nomeVeiculo: string, placa: string, cor: string) {
        this.nomeVeiculo = nomeVeiculo;
        this.placa = placa;
        this.cor = cor;
    }

    public listarVeiculos(): void {
        console.log(`Veículo: ${this.nomeVeiculo}`);
        console.log(`Placa: ${this.formatarPlaca(this.placa)}`);
        console.log(`Cor: ${this.cor}`);
        console.log("-------------------");
    }

    private formatarPlaca(placa: string): string {
        return placa.replace(/(\w{3})(\w{4})/, "$1-$2").toUpperCase();
    }

    public getCor(): string {
        return this.cor;
    }
}

// Criando 5 veículos
const veiculo1 = new Veiculo("Fiat Uno", "abc1234", "azul");
const veiculo2 = new Veiculo("Volkswagen Gol", "def5678", "vermelho");
const veiculo3 = new Veiculo("Chevrolet Onix", "ghi9012", "azul");
const veiculo4 = new Veiculo("Ford Ka", "jkl3456", "branco");
const veiculo5 = new Veiculo("Hyundai HB20", "mno7890", "azul");

// Array com todos os veículos
const veiculos: Veiculo[] = [veiculo1, veiculo2, veiculo3, veiculo4, veiculo5];

// Filtrando e listando apenas veículos azuis
console.log("Veículos com cor azul:");
veiculos.forEach(veiculo => {
    if (veiculo.getCor().toLowerCase() === "azul") {
        veiculo.listarVeiculos();
    }
});






Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: