Sobre a orientação a objetos, é correto afirmar:

Próximas questões
Com base no mesmo assunto
Q39743 Engenharia de Software
Sobre a orientação a objetos, é correto afirmar:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito Correto: C

Explicação sobre o tema:

O paradigma de programação orientada a objetos (OO) é um modelo de análise, concepção e programação baseado na composição e interação entre diversas unidades de software chamadas de objetos. Cada objeto é capaz de receber mensagens, processar dados e enviar mensagens a outros objetos. Cada objeto pode ser visto como uma pequena máquina com um papel ou responsabilidade específica.

Um aspecto fundamental da programação OO é o encapsulamento que é conseguido através dos modificadores de acesso: public, private e protected. Estes controlam não apenas a visibilidade dos métodos, mas também das variáveis (propriedades) de um objeto. Além disso, a sobrecarga de construtores é uma característica da OO que permite a criação de múltiplas versões de um construtor, cada uma com diferentes listas de parâmetros.

Justificativa para a alternativa correta (C):

A alternativa C está correta porque, de fato, na orientação a objetos é possível ter vários construtores numa mesma classe, o que é conhecido como sobrecarga de construtores (constructor overloading). Isso permite que um objeto seja inicializado de diferentes maneiras, dependendo dos argumentos que são passados para o construtor no momento da criação do objeto. Essa flexibilidade é muito útil na prática, pois diferentes situações exigem diferentes formas de inicialização de um objeto.

Vejamos um exemplo simples: podemos ter um construtor que recebe um nome e um ID para inicializar um objeto do tipo Employee, e outro construtor na mesma classe que recebe apenas o nome, assumindo que o ID será gerado automaticamente. Assim, o desenvolvedor pode escolher o construtor mais apropriado conforme a situação.

Os outros itens apresentam equívocos comuns:

  • A alternativa A confunde a existência de variáveis e métodos de classe (estáticos) que de fato não precisam de uma instância de objeto para serem utilizados, mas a afirmação sugere que se aplica a todos os métodos e variáveis públicos, o que não é correto.
  • A alternativa B é incorreta porque os modificadores de acesso controlam a visibilidade de todos os membros de uma classe, incluindo variáveis e métodos.
  • A alternativa D é falsa pois construtores sem argumentos, também conhecidos como construtores padrão ou default constructors, são perfeitamente válidos e úteis para inicializar um objeto com valores padrão, e não causam erros em tempo de execução por não receberem parâmetros.
  • A alternativa E está errada porque o uso de métodos set e get é uma prática para acessar variáveis privadas e protegidas de uma classe, não apenas públicas. Além disso, não é obrigatório usar esses métodos para acessar variáveis públicas, apesar de ser uma boa prática para manter o encapsulamento.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

A) ERRADA - Apenas os membros de uma classe declarados como static é que podem ser utilizados sem que haja sequer um objeto instaciado na classe.

B) ERRADA - Os modificadores de acesso controlam acesso aos membros de uma classe, e como membros de classe entende-se que são  os métodos e as variáveis de instâncias (atributos). Portanto, o 'apenas' invalidou a alternativa.

C) CORRETA

D) ERRADA - Um construtor pode ser invocado sem nenhum argumento, parâmetro, sem problemas.

E) ERRADA - Os dados podem ser acessados de outra forma, além do get e set. Aliás, uma boa prática em programação é nunca criar um get ou set sem a necessidade. A expressão 'devem' invalida a alternativa.
Apenas complementando a excelente explicação do colega Robson, na letra B, os modificadores de acesso também controlam o acesso às classes.

c-

construtores sobrecarregados é o overloading, um tipo de polimorfismo que permite iniciar uma instancia com varias opcoes de parametros

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo