Programação Orientada a Objetos (POO): Sobrecarga e Reescrita
15 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

A sobrecarga de métodos ocorre entre classes diferentes.

False

Todos os métodos em uma interface são automaticamente privados.

False

Uma interface pode ter variáveis de instância.

False

Uma interface pode ter métodos estáticos.

<p>False</p> Signup and view all the answers

O nome de uma interface é normalmente um substantivo.

<p>False</p> Signup and view all the answers

A classe pode implementar apenas uma interface.

<p>False</p> Signup and view all the answers

A palavra-chave para implementar uma interface é "extends".

<p>False</p> Signup and view all the answers

Um método em uma interface pode ter uma implementação.

<p>False</p> Signup and view all the answers

A interface Measurable pode ser usada para implementar um método estático para cálculo de médias.

<p>True</p> Signup and view all the answers

A classe que implementa uma interface pode omitir a implementação de alguns métodos da interface.

<p>False</p> Signup and view all the answers

A reescrita de um método muda a sua assinatura.

<p>False</p> Signup and view all the answers

A sobrecarga de métodos permite que sejam criados métodos com nomes diferentes.

<p>False</p> Signup and view all the answers

A anotação @Override é utilizada para indicar que um método está sendo sobrecarregado.

<p>False</p> Signup and view all the answers

Uma das principais diferenças entre sobrecarga e reescrita de métodos é que a sobrecarga é utilizada em métodos herdados.

<p>False</p> Signup and view all the answers

Os métodos construtores são exemplos de reescrita de métodos.

<p>False</p> Signup and view all the answers

Study Notes

Sobrecarga e Reescrita de Métodos

  • Sobrecarga (overloading): criação de métodos com o mesmo nome, mas com número e/ou tipo de parâmetros diferente(s)
  • Exemplos: construtores, métodos com o mesmo nome, mas com parâmetros diferentes
  • A assinatura de um método é constituída pelo nome do método e pelo número, tipo e ordem dos seus parâmetros

Sobrecarga vs Reescrita

  • Sobrecarga: ocorre dentro das classes, melhora legibilidade do código, polimorfismo em tempo de compilação, parâmetros diferentes
  • Reescrita (overriding): ocorre em classes diferentes, implementação específica de um método numa subclasse, polimorfismo em tempo de execução, mesmos parâmetros

Interfaces

  • Uma interface é um tipo especial de declaração que lista um conjunto de métodos e suas assinaturas
  • Uma classe que implementa uma interface deve implementar todos os métodos da interface
  • Uma interface é declarada da mesma forma que uma classe, apenas substituindo a palavra-chave "class" por "interface"
  • Características de uma interface:
    • Todos os métodos são abstratos (têm um nome, parâmetros e um tipo de retorno, mas não têm uma implementação)
    • Todos os métodos são automaticamente públicos
    • Não pode ter variáveis de instância
    • Não tem métodos estáticos

Declaração e Implementação de Interfaces

  • Sintaxe de declaração de uma interface: public interface Measurable { double getMeasure(); }
  • Implementação de uma interface: uma classe que implementa uma interface deve implementar todos os métodos da interface
  • Exemplo: public class BankAccount implements Measurable { ... public double getMeasure() { return balance; } }

Utilização de Interfaces

  • Pode-se usar uma interface para implementar um método estático "universal" para cálculo de médias
  • Exemplo: public static double average(Measurable[] objs) { ... }

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Description

Aprenda sobre os conceitos fundamentais de Programação Orientada a Objetos, incluindo sobrecarga e reescrita de métodos. Entenda como essas técnicas são utilizadas em linguagens de programação.

More Like This

Use Quizgecko on...
Browser
Browser