Ed
há 2 meses
Vamos analisar cada sentença com base no conceito de sobrecarga de métodos (polimorfismo) e na sintaxe dos construtores apresentados: 1. public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ this.tamanhoQuadro = tamanhoQuadro; this.numeroMarchas = numeroMarchas; this.tamanhoRoda = tamanhoRoda; } 2. public Bicicleta(int numeroMarchas, char tamanhoRoda, char tamanhoQuadro){ this.numeroMarchas = numeroMarchas; this.tamanhoQuadro = tamanhoQuadro; this.tamanhoRoda = tamanhoRoda; } 3. public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ this.tamanhoQuadro = tamanhoQuadro; this.tamanhoRoda = tamanhoRoda; } 4. public Bicicleta(){ this.numeroMarchas = numeroMarchas; } Análise: - O primeiro e o terceiro construtores têm a mesma assinatura (mesmo tipo e ordem de parâmetros: char, int, char), o que não é permitido na sobrecarga, pois gera conflito. Portanto, o terceiro construtor está incorreto. - O segundo construtor tem uma assinatura diferente (int, char, char), o que é válido para sobrecarga. - O quarto construtor é um construtor padrão sem parâmetros, mas dentro dele há uma atribuição this.numeroMarchas = numeroMarchas; sem que numeroMarchas esteja definido, o que é um erro. Classificando as sentenças (assumindo que as sentenças correspondem à validade dos construtores na ordem apresentada): 1. V (primeiro construtor válido) 2. V (segundo construtor válido) 3. F (terceiro construtor inválido por assinatura repetida e atribuição incompleta) 4. F (quarto construtor inválido por uso de variável não definida) Portanto, a sequência correta é: V - V - F - F Alternativa correta: C) V - V - F - F.
Cadastre-se ou realize login
Mais perguntas desse material