// 01

/*class Empresa {
    constructor(
        public nome_empresa: string,
        public ramo_atividade: string
    ) {}
}

class Servicos extends Empresa {
    constructor(
        nome_empresa: string,
        ramo_atividade: string,
        public tipo_servico: string,
        public telefone: string,
        public email: string
    ) {
        super(nome_empresa, ramo_atividade);
    }

    imprimir() {
        console.log(`Nome da Empresa: ${this.nome_empresa}`);
        console.log(`Ramo de Atividade: ${this.ramo_atividade}`);
        console.log(`Tipo de Serviço: ${this.tipo_servico}`);
        console.log(`Telefone: ${this.telefone}`);
        console.log(`Email: ${this.email}`);
    }
}

const servico = new Servicos(
    "Tech Solutions",
    "Tecnologia",
    "Desenvolvimento de Software",
    "(11) 98765-4321",
    "contato@techsolutions.com"
);

servico.imprimir();*/

// 02
/*class Turma {
    constructor(
        public cod_turma: string,
        public qtd_alunos: number
    ) {}
}

class Escola extends Turma {
    constructor(
        cod_turma: string,
        qtd_alunos: number,
        public nome_escola: string
    ) {
        super(cod_turma, qtd_alunos);
    }

    imprimir() {
        console.log(`Nome da Escola: ${this.nome_escola}`);
        console.log(`Código da Turma: ${this.cod_turma}`);
        console.log(`Quantidade de Alunos: ${this.qtd_alunos}`);
    }
}

const escola = new Escola(
    "T2023",
    30,
    "Escola Primária"
);

escola.imprimir();*/


// 03
/*class Notas {
    constructor(
        public nota1: number,
        public nota2: number,
        public nota3: number
    ) {}
}

class Aluno extends Notas {
    public media: number;
    public resultado: string;

    constructor(
        public nome_aluno: string,
        public idade: number,
        nota1: number,
        nota2: number,
        nota3: number
    ) {
        super(nota1, nota2, nota3);
        this.calcularMedia();
        this.verificarResultado();
    }

    private calcularMedia() {
        this.media = (this.nota1 + this.nota2 + this.nota3) / 3;
    }

    private verificarResultado() {
        this.resultado = this.media >= 75 ? "APROVADO" : "REPROVADO";
    }

    imprimir() {
        console.log(`Nome do Aluno: ${this.nome_aluno}`);
        console.log(`Idade: ${this.idade}`);
        console.log(`Nota 1: ${this.nota1}`);
        console.log(`Nota 2: ${this.nota2}`);
        console.log(`Nota 3: ${this.nota3}`);
        console.log(`Média: ${this.media.toFixed(2)}`);
        console.log(`Resultado: ${this.resultado}`);
    }
}

const aluno = new Aluno(
    "João Silva",
    15,
    80,
    70,
    85
);

aluno.imprimir();*/

// 04
class Financeira {
    constructor(
        public percentual_lucro: number
    ) {}
}

class Banco extends Financeira {
    public lucro: number;

    constructor(
        public nome_cliente: string,
        public cpf: string,
        public capital_aplicado: number,
        percentual_lucro: number
    ) {
        super(percentual_lucro);
        this.calcularLucro();
    }

    private calcularLucro() {
        this.lucro = this.capital_aplicado * (this.percentual_lucro / 100);
    }

    imprimir() {
        console.log(`Nome do Cliente: ${this.nome_cliente}`);
        console.log(`CPF: ${this.cpf}`);
        console.log(`Capital Aplicado: R$ ${this.capital_aplicado.toFixed(2)}`);
        console.log(`Lucro: R$ ${this.lucro.toFixed(2)}`);
    }
}

const banco = new Banco(
    "Maria Oliveira",
    "123.456.789-00",
    10000,
    5
);

banco.imprimir();




Embed on website

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