Cursos / Jogos Digitais / Programação Orientada a Objetos / Aula

arrow_back Aula 09 - Classes Abstratas e Interfaces

Interfaces e classes

Interfaces e classes

  • Define os métodos, mas não os implementa;
  • A implementação é de responsabilidade de quem implementa a interface;
  • O foco é no que o objeto faz, e não em como ele faz;
  • Responsável por descrever a parte pública;
  • Definição de um contrato;
  • A palavra-chave implements é utilizada para herdar obrigações do “contrato”;
  • Se uma classe herda de outra e implementa uma interface a cláusula de extends dever vir primeiro;
  • Benefício: “herança múltipla”;
  • Relação: É um.

Contextualização

Imagine que fabricamos softwares para serem implantados em brinquedos como carrinhos e aviões que possuem como característica principal a capacidade de se locomover segundo os comandos de um controle remoto. Cada brinquedo entende o que precisa fazer para mover-se para frente ou para trás, parar e emitir um sinal de localização.

Os brinquedos são fabricados por uma companhia e os controles por uma empresa parceira em produção de eletrônicos. Ambos são implementados na linguagem TypeScript. O contrato estabelecido entre os desenvolvedores é de que todos os produtos que necessitam ser controlados por um controle remoto deverão implementar a interface Mobilidade, cujo código é apresentado na próxima figura.

Interface Mobilidade

Figura 7 - Interface Mobilidade

Descrição imagem

Classe Robo

Figura 8 - Classe Rodo

Descrição imagem

Classe Trator

Figura 9 - Classe Trator

Descrição imagem

Classe Controle Remoto

Figura 10 - Classe Controle Remoto

Descrição imagem


Versão 5.3 - Todos os Direitos reservados