Menu
Coddy logo textTech

Adicionando Métodos a Interfaces

Parte da seção Introdução ao TypeScript do Journey de JavaScript da Coddy. Lição 43 de 73.

As interfaces do TypeScript permitem definir esses comportamentos incluindo assinaturas de métodos junto com as definições de propriedades.

Uma assinatura de método em uma interface especifica o nome de um método, seus parâmetros e seu tipo de retorno, sem fornecer a implementação real. Isso cria um contrato que qualquer objeto em conformidade com a interface deve cumprir:

interface Person {
  name: string;
  age: number;
  greet(): string;  // Assinatura do método
}

let user: Person = {
  name: "Alice",
  age: 30,
  greet() {
    return `Hello, I'm ${this.name}`;
  }
};

A assinatura do método greet(): string informa ao TypeScript que qualquer objeto que implemente a interface Person deve ter um método greet que não recebe parâmetros e retorna uma string. A implementação real pode variar entre diferentes objetos, mas a assinatura deve corresponder exatamente.

challenge icon

Desafio

Fácil

Crie uma interface chamada Calculator com as seguintes propriedades e métodos:

  • brand do tipo string
  • model do tipo string
  • isScientific do tipo boolean
  • método add que recebe dois parâmetros number e retorna um number
  • método getInfo que não recebe parâmetros e retorna uma string

Crie uma interface chamada BankAccount com as seguintes propriedades e métodos:

  • accountNumber do tipo string
  • balance do tipo number
  • isActive do tipo boolean
  • método deposit que recebe um parâmetro number e retorna void
  • método getBalance que não recebe parâmetros e retorna um number

Usando suas interfaces, crie as seguintes variáveis:

  • Crie uma variável chamada myCalculator do tipo Calculator com brand "Casio", model "FX-991EX", isScientific true, um método add que retorna a soma de seus dois parâmetros e um método getInfo que retorna "[brand] [model]"
  • Crie uma variável chamada savingsAccount do tipo BankAccount com accountNumber "SAV-12345", balance 1500, isActive true, um método deposit que adiciona o parâmetro ao balance e um método getBalance que retorna o balance atual

Imprima as seguintes saídas em linhas separadas:

  • Chame o método getInfo em myCalculator e imprima o resultado
  • Chame o método add em myCalculator com os argumentos 15 e 27 e imprima o resultado
  • Chame o método getBalance em savingsAccount e imprima o resultado
  • Chame o método deposit em savingsAccount com o argumento 250
  • Chame o método getBalance em savingsAccount novamente e imprima o resultado
  • Imprima a propriedade isScientific de myCalculator

Experimente você mesmo

// TODO: Escreva seu código aqui
// Crie a interface Calculator com as propriedades e métodos necessários
// Crie a interface BankAccount com as propriedades e métodos necessários
// Crie a variável myCalculator do tipo Calculator
// Crie a variável savingsAccount do tipo BankAccount
// Imprima todas as saídas necessárias
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 Introdução ao TypeScript

Pratique por conta própria: Compilador de JavaScript online