// 02
/*class nome_da_classe{ // escopo da classe
// atributos e métodos aqui
nome:string;
idade:number;
data_nascimento:Date;
// construtor
constructor(idade:number){
this.idade = idade; //inicialização
}
// métodos
nome_metodo(nome:string):void{
//implementação
}
}
let x = new Nome("", 30, '2025-04-25'); // objeto*/
// ATIVIDADES PRÁTICAS
// 1. Classe Pessoa
// classe
/*class Pessoa {
nome: string; // atributos
idade: number;
cidade: string;
// método construtor
constructor(nome: string, idade: number, cidade: string) {
this.nome = nome; // inicializar atributos ou variáveis
this.idade = idade;
this.cidade = cidade;
}
// método apresentar
apresentar(): void {
console.log(`Olá, meu nome é ${this.nome}, tenho ${this.idade} anos e moro em ${this.cidade}.`);
}
}
// Exemplo de uso do objeto
const pessoa1 = new Pessoa("João", 30, "São Paulo");
// inicializar método
pessoa1.apresentar();*/
// 2. Calculando idade a partir da data de nascimento
/*class Pessoa {
nome: string;
dataNascimento: Date;
constructor(nome: string, dataNascimento: Date) {
this.nome = nome;
this.dataNascimento = dataNascimento;
}
calcularIdade(): number {
const hoje = new Date();
let idade = hoje.getFullYear() - this.dataNascimento.getFullYear();
const mesAtual = hoje.getMonth();
const mesNascimento = this.dataNascimento.getMonth();
if (mesNascimento > mesAtual ||
(mesNascimento === mesAtual && hoje.getDate() < this.dataNascimento.getDate())) {
idade--;
}
return idade;
}
}
// Exemplo de uso
const pessoa2 = new Pessoa("Maria", new Date("1990-05-15"));
console.log(`${pessoa2.nome} tem ${pessoa2.calcularIdade()} anos.`);*/
// 3. Classe Carro
/*class Carro {
marca: string;
modelo: string;
ano: number;
constructor(marca: string, modelo: string, ano: number) {
this.marca = marca;
this.modelo = modelo;
this.ano = ano;
}
ligar(): void {
console.log("Carro ligado!");
}
}
// Exemplo de uso
const meuCarro = new Carro("Ford", "Ka", 2020);
meuCarro.ligar();*/
// 4. Classe Animal com polimorfismo
/*class Animal {
nome: string;
constructor(nome: string) {
this.nome = nome;
}
fazerSom(): void {
console.log("Som genérico de animal");
}
}
class Cachorro extends Animal {
fazerSom(): void {
console.log("Au au!");
}
}
class Gato extends Animal {
fazerSom(): void {
console.log("Miau!");
}
}
class Vaca extends Animal {
fazerSom(): void {
console.log("Muuu!");
}
}
// Exemplos de uso
const animais: Animal[] = [
new Cachorro("Rex"),
new Gato("Mimi"),
new Vaca("Mimosa")
];
animais.forEach(animal => {
console.log(`${animal.nome} faz: `);
animal.fazerSom();
});*/
// 5. Classe ContaBancaria
class ContaBancaria {
numero: string;
saldo: number;
titular: string;
constructor(numero: string, titular: string, saldoInicial: number = 0) {
this.numero = numero;
this.titular = titular;
this.saldo = saldoInicial;
}
depositar(valor: number): void {
if (valor > 0) {
this.saldo += valor;
console.log(`Depósito de R$${valor} realizado. Novo saldo: R$${this.saldo}`);
} else {
console.log("Valor de depósito inválido");
}
}
sacar(valor: number): void {
if (valor > 0 && valor <= this.saldo) {
this.saldo -= valor;
console.log(`Saque de R$${valor} realizado. Novo saldo: R$${this.saldo}`);
} else {
console.log("Saldo insuficiente ou valor inválido");
}
}
consultarSaldo(): void {
console.log(`Saldo atual: R$${this.saldo}`);
}
}
// Exemplo de uso
const minhaConta = new ContaBancaria("12345-6", "Carlos Silva", 10000);
minhaConta.consultarSaldo();
//minhaConta.depositar(500);
//minhaConta.sacar(200);
//minhaConta.sacar(999); // Deve falhar
To embed this project on your website, copy the following code and paste it into your website's HTML: