Questões sobre Programação Orientada a Objetos

Lista completa de Questões sobre Programação Orientada a Objetos para resolução totalmente grátis. Selecione os assuntos no filtro de questões e comece a resolver exercícios.

Com relação a herança na programação orientada a objetos com Java, é INCORRETO afirmar:

  • A.

    Uma subclasse herda os métodos da superclasse, entretanto, pode ter seus próprios métodos.

  • B.

    Quando se instancia um objeto da subclasse, podem ser passados valores para os atributos da superclasse.

  • C.

    Um objeto da subclasse pode ser um objeto da superclasse.

  • D.

    Em uma superclasse, para acessar métodos da subclasse deve ser usada a instrução super.

  • E.

    Para definir que a subclasse herda as características da superclasse utiliza-se a instrução extends na declaração da subclasse.

Sobre conceitos em programação orientada a objetos (OOP), analise:

I. No polimorfismo ad-hoc, métodos com o mesmo nome e pertencentes à mesma classe, podem receber argumentos distintos, consequentemente alterando a assinatura do método.

II. No polimorfismo paramétrico é possível determinar o método como atributos de objetos são acessados por outros objetos, protegendo o acesso direto aos mesmos através de operações.

III. Na restrição de multiplicidade é possível determinar o número de atributos e operações que uma classe pode herdar de uma superclasse.

Está correto o que consta em

  • A.

    I, II e III.

  • B.

    I, apenas.

  • C.

    III, apenas.

  • D.

    II e III, apenas.

  • E.

    I e II, apenas.

Na orientação a objetos, em uma relação de herança entre classes, a subclasse herda da superclasse

  • A.

    apenas as variáveis públicas de instância.

  • B.

    apenas os métodos e variáveis de instância públicos.

  • C.

    todas as variáveis de instância e apenas os métodos estáticos.

  • D.

    todas as variáveis e métodos, exceto os públicos e os que foram sobrescritos.

  • E.

    todas as variáveis de instância e os métodos, entretanto, podem explicitamente sobrescrever alguns destes componentes.

Considere que a classe Pessoa possui 3 métodos que podem ser aplicados aos seus objetos: cadastrar, alterar e excluir. Considere que Aluno e Professor são classes derivadas da classe Pessoa e, por isso, herdam os métodos cadastrar, alterar e excluir, mas estes métodos são sobrescritos na classe Aluno e Professor com implementações bastante distintas, em função dos dados associados a cada um deles.

O exemplo ilustra o conceito de

  • A.

    hereditariedade.

  • B.

    polimorfismo.

  • C.

    encapsulamento.

  • D.

    abstração.

  • E.

    reusabilidade.

O processo de desenvolvimento orientado a testes, de uma forma geral, é baseado em 3 passos. Estes 3 passos são repetidos até que não se consiga pensar em novos testes, o que indicaria, então, que a funcionalidade está pronta. Um destes passos e o que nele deve ser feito está expresso corretamente em:

  • A.

    Refatore é o passo 3. Uma vez que o teste tenha passado, deve-se verificar o que pode ser melhorado no código e remover as duplicações. Essas melhorias no código, no entanto, devem permitir que os testes continuem passando.

  • B.

    Escreva um teste que falhe é o passo 2. Neste passo definem-se quais são as verificações que precisam ser feitas. Deve-se pensar primeiro no teste e só depois que este estiver pronto cria-se o código necessário para que ele compile e falhe ao ser executado.

  • C.

    Faça o teste passar é o passo 1. Neste passo escreve-se apenas código suficiente para que o teste passe. Mesmo que se saiba que o código deve fazer mais coisas, fazer os testes passarem deve ser a única preocupação nesta etapa.

  • D.

    Keep it simple é o passo 1. Como a solução vai surgindo pouco a pouco, a tendência é que não se perca tempo com aquilo que não se tem certeza que será usado em seguida, então, o foco deve estar no planejamento de testes simples.

  • E.

    Documente o teste é o passo 3. Os testes, quando bem definidos, são mais simples de ler que o código e, embora nem sempre sirvam como uma especificação para o usuário final, eles são uma fonte eficiente para entender o que o software faz. Além disso, esta documentação sempre estará atualizada com a aplicação.

Uma professora de uma universidade brasileira propôs aos seus alunos que seguissem os seguintes passos:

Passo 1: Identificar todos os substantivos que indiquem objetos.

Passo 2: Descartar os substantivos que, quando entidades, possuem apenas uma ocorrência.

Passo 3: Descartar os substantivos que servem apenas para entendimento do problema.

Passo 4: Descartar objetos que se referem a aplicações futuras.

Passo 5: Descartar objetos que não teriam nenhum atributo.

Passo 6: Listar os objetos que se tornarão entidades.

Passo 7: Identificar relacionamentos através da sentença: “objeto verbo objeto”.

Passo 8: Estabelecer o grau de relacionamento entre as entidades.

Passo 9: Estabelecer a cardinalidade do relacionamento entre as entidades.

Passo 10: Identificar os atributos de cada entidade.

A professora tinha a intenção de ensinar seus alunos a criarem um

  • A.

    Modelo de Arquitetura em Camadas.

  • B.

    Diagrama de Classes associado a um Diagrama de Objetos da UML.

  • C.

    Diagrama de Atividades da UML.

  • D.

    Modelo Entidade-Relacionamento.

  • E.

    Diagrama de Relacionamento entre Objetos e Entidades.

Considere a linguagem de programação PHP e seus operadores. A execução da sentença

  • A.

    (A != B) retorna falso (false), considerando as variáveis A e B inicializadas com os valores 3 e 6, respectivamente.

  • B.

    (A %= B) atribui o valor 3 (três) para a variável A, considerando as variáveis A e B inicializadas com os valores 10 e 3, respectivamente.

  • C.

    (A . = B) concatena o conteúdo das variáveis A e B e armazena o conteúdo em A.

  • D.

    !(A == B) retorna falso (false), considerando as variáveis A e B inicializadas com os valores 3 e 6, respectivamente.

  • E.

    (A = = = B) compara somente os tipos das variáveis A e B.

  • A.

    CSS; o fragmento II, um arquivo XML; e o fragmento III, o resultado do processamento do arquivo XML com a aplicação de um arquivo CSS, apresentado no fragmento de código I.

  • B.

    CSS; o fragmento II, um arquivo XML; e o fragmento III, apresenta o resultado do processamento do arquivo XML com a aplicação de um arquivo CSS, mas não o apresentado no fragmento de código I.

  • C.

    XML; o fragmento II, um arquivo CSS; e o fragmento III, o resultado do processamento do arquivo XML com a aplicação de um arquivo CSS, apresentado no fragmento de código I.

  • D.

    XML; o fragmento II, um arquivo CSS; e o fragmento III, apresenta o resultado do processamento do arquivo XML com a aplicação de um arquivo CSS, apresentado acima no fragmento de código I.

  • E.

    CSS; o fragmento II, um arquivo XML; e o fragmento III, apresenta o resultado do processamento que não envolve nenhum dos arquivos tratados nos exemplos.

Sobre Programação Orientada a Objetos, analise:

 I. A encapsulação garante que apenas as interfaces necessárias para interação com o objeto estejam visíveis, e atributos internos não sejam acessíveis.

II. O polimorfismo garante que objetos possam herdar métodos e atributos de uma superclasse para a geração de uma nova classe.

III. A herança possibilita que distintas operações na mesma classe tenham o mesmo nome, desde que alterada a assinatura.

 Está correto o que se afirma em

  • A.

    III, apenas.

  • B.

    II, apenas.

  • C.

    I, apenas.

  • D.

    II e III, apenas.

  • E.

    I, II e III.

  • A.

    8.8, 9.6.

  • B.

    9.6, 4.

  • C.

    2, 11.6.

  • D.

    4.8, 2.

  • E.

    11, 8.

Provas e Concursos

O Provas e Concursos é um banco de dados de questões de concursos públicos organizadas por matéria, assunto, ano, banca organizadora, etc

{TITLE}

{CONTENT}

{TITLE}

{CONTENT}
Provas e Concursos
0%
Aguarde, enviando solicitação!

Aguarde, enviando solicitação...