A respeito da orientação a objetos, julgue os próximos itens...

Próximas questões
Com base no mesmo assunto
Q2252655 Programação
A respeito da orientação a objetos, julgue os próximos itens.
I Há linguagens de programação orientadas a objetos em que a determinação do método a ser executado em resposta a uma mensagem pode ocorrer na compilação ou pode ser adiada até a execução do código. II Uma subclasse pode herdar atributos e métodos das suas superclasses. Em uma hierarquia C++, as visibilidades dos atributos e dos métodos herdados não podem, em uma subclasse, ser diferentes das suas visibilidades nas superclasses. III Um atributo cujo valor é compartilhado entre as instâncias de uma classe tem escopo de classe. Um atributo com escopo de classe é, na linguagem Java, um atributo estático (static). Em UML, nos diagramas de classe, os atributos com escopo de classe são identificados por uma sublinha. IV Em UML, uma agregação é um relacionamento todo-parte. Em uma agregação, um objeto não pode ser parte de mais de um todo. Além disso, objetos que são as partes de um todo devem ser destruídos quando o todo é destruído. V Uma classe de associação (association class) permite que sejam acrescentados atributos e métodos a uma associação. Por exemplo, determinada classe pode ser criada para conter atributos e métodos de uma associação entre duas outras classes.
Estão certos apenas os itens
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a B - I, III e V.

Vamos analisar cada item para entender por que a alternativa B está correta:

I - Correto. Na programação orientada a objetos (POO), a determinação do método a ser executado pode, de fato, acontecer tanto em tempo de compilação quanto em tempo de execução. Isso é conhecido como ligação estática e ligação dinâmica, respectivamente. A ligação estática ocorre quando o método é resolvido em tempo de compilação, enquanto a ligação dinâmica (ou tardia) ocorre em tempo de execução, que é um comportamento típico do polimorfismo.

II - Incorreto. Em C++, é possível alterar a visibilidade de membros herdados na subclasse utilizando especificadores de acesso como public, protected ou private na declaração de herança. Portanto, a visibilidade dos atributos e métodos herdados pode ser diferente daquela nas superclasses.

III - Correto. Atributos com escopo de classe em Java são declarados com a palavra-chave static, e são compartilhados entre todas as instâncias da classe. Em UML, estes atributos são representados com uma sublinha, indicando que pertencem à classe e não a uma instância específica.

IV - Incorreto. Uma agregação em UML é de fato um relacionamento todo-parte. No entanto, a descrição do enunciado mais precisamente se encaixa na definição de composição, uma forma forte de agregação. Na composição, as partes não podem pertencer a mais de um todo e são destruídas quando o todo é destruído. Na agregação, os objetos podem existir independentemente do todo.

V - Correto. Uma classe de associação em UML é um conceito utilizado para adicionar informações e comportamentos a uma associação entre duas classes. É uma maneira de modelar que uma associação tem atributos e métodos próprios, que não pertencem a nenhuma das classes que estão sendo associadas diretamente.

Portanto, os itens I, III e V estão corretos, o que justifica a resposta B como a correta para esta questão.

Clique para visualizar este gabarito

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