Cursos / Redes de Computadores / Programação Orientada a Objetos / Aula
interface Pessoa {
nome: string;
anoNascimento?: number;
imprimirNome?: () => void;
}
interface Pessoa2 {
sobrenome: string;
}
let p1: Pessoa = {
nome: 'Zezinho',
anoNascimento: 2000,
imprimirNome(): void {
console.log(this.nome)
}
}
let pessoas: Pessoa[] = [
{ nome: 'João', anoNascimento: 2000 },
{ nome: 'Maria', anoNascimento: 1997 },
{ nome: 'José', anoNascimento: 2003 },
{ nome: 'Luluzinha', anoNascimento: 2002 },
{ nome: 'Bolinha' },
p1
]
function listaNomes(p: Pessoa[]) {
p.forEach(prop => console.log(prop.nome))
}
//listaNomes(pessoas);
if (p1.imprimirNome) {
p1.imprimirNome();
}
function calculaIdade(p: Pessoa) {
let idade: number;
if (p.anoNascimento) {
idade = new Date().getFullYear() - p.anoNascimento;
console.log(`Idade: ${idade}`);
}
}
let p2 = { nome: 'Luluzinha', anoNascimento: 2001, endereco: 'Rua X' }
//calculaIdade(p2);
calculaIdade({ nome: 'Luluzinha', anoNascimento: 2001, endereco: 'Rua X' } as Pessoa);
interface Aluno extends Pessoa, Pessoa2 {
matricula: string;
}
interface Aluno extends Pessoa, Pessoa2 {
matricula: string;
}
let aluno: Aluno = {
matricula: '1',
nome: 'Francisco',
sobrenome: 'Silva'
}
Versão 5.3 - Todos os Direitos reservados