SóProvas


ID
2680255
Banca
CESPE / CEBRASPE
Órgão
EBSERH
Ano
2018
Provas
Disciplina
Programação
Assuntos

Acerca de programação orientada a objetos, Java e PHP, julgue o item a seguir.


Por meio do mecanismo de sobrecarga, dois métodos de uma mesma classe podem ter o mesmo nome, desde que suas listas de parâmetros sejam diferentes.

Alternativas
Comentários
  • Marquei certo

    O que é sobrecarga?

    Um outro método, com o mesmo nome e parâmetros de entrada (assinatura) diferentes, existe na classe.

  • Existem dois tipos de polimorfismo que são conhecidos como sobrecarga (overload) e sobreposição (override).

    *

    A sobrecarga de métodos (overload) é um conceito do polimorfismo que consiste basicamente em criar variações de um mesmo método, ou seja, a criação de dois ou mais métodos com nomes totalmente iguais em uma classe. A Sobrecarga permite que utilizemos o mesmo nome em mais de um método contanto que suas listas de argumentos sejam diferentes para que seja feita a separação dos mesmos.

    *

    A Sobreposição de métodos (override) é um conceito do polimorfismo que nos permite reescrever um método, ou seja, podemos reescrever nas classes filhas métodos criados inicialmente na classe pai, os métodos que serão sobrepostos, diferentemente dos sobrecarregados, devem possuir o mesmo nome, tipo de retorno e quantidade de parâmetros do método inicial, porém o mesmo será implementado com especificações da classe atual, podendo adicionar um algo a mais ou não.

    *

    Diferente da sobrecarga, a sobreposição funciona por meio do sistema de herança, e para a mesma funcionar o nome e lista de argumentos dos métodos devem ser totalmente iguais aos da classe herdada.

    *

    A sobrecarga está ligada a variância de estados de um método, podemos entende-la como um conjunto de opções que o programa principal tem para escolher quando recebe os parâmetros passados pelo usuário. Se tivéssemos apenas um método e não utilizarmos a sobrecarga nele, ao passarmos um parâmetro que não consta nesse método, ocorreriam erros no programa. Já com a sobrecarga conseguimos criar variações de um mesmo método conseguindo assim mais opções de uso para ele, então, para a mesma funcionar os métodos devem conter nomes iguais e listas de argumentos diferentes.

    **

    Enquanto a sobrecarga da vida a variação de métodos, a sobreposição possibilita a extensibilidade dos mesmos, pois com ela podemos reescrever métodos criados anteriormente, permitindo assim a criação de versões mais específicas deles. Com a sobreposição podemos pegar um método genérico e transformá-lo em específico, implementando novas funcionalidades pertinentes da classe à qual ele está. Diferente da sobrecarga, a sobreposição funciona por meio do sistema de herança, e para a mesma funcionar o nome e lista de argumentos dos métodos devem ser totalmente iguais aos da classe herdada.

    *

    Fonte: https://www.devmedia.com.br/sobrecarga-e-sobreposicao-de-metodos-em-orientacao-a-objetos/33066

  • Resumindo:

     

    Polimorfismo Estático ==> sobrecarga (overload)
    - A mesma operação implementada várias vezes na mesma classe.
    - A escolha depende da assinatura dos métodos sobrecarregados.

     

    Polimorfismo Dinâmico ==> sobreposição/sobrescrita (override)
    - Acontece na herança, quando a subclasse sobrepõe o método original.
    - Método é escolhido em tempo de execução, não em tempo de compilação.
    - A escolha depende do tipo de objeto que recebe a mensagem.

  • Questão certa. Definição direta do mecanismo de sobrecarga (ou overloading) de métodos, que permite que tenhamos na mesma classe métodos com o mesmo nome, mas listas de parâmetros diferentes.

    Resposta: Certo

  • Sobrecarregar de métodos significa ter vários métodos com nomes iguais mais assinaturas diferentes. A sobrescrita de métodos seria criar um novo método na classe filha contendo a mesma assinatura e mesmo tipo de retorno do método sobrescrito.